mvp-factory-openhands/test-scripts/calculator.test.js

41 lines
1.4 KiB
JavaScript

// Tests for calculator module
const calc = require('./calculator.js');
// Simple assertion function
function assert(condition, message) {
if (!condition) {
throw new Error('Assertion failed: ' + message);
}
}
// Test add function
console.log('Testing add function...');
assert(calc.add(2, 3) === 5, '2 + 3 should equal 5');
assert(calc.add(-1, 1) === 0, '-1 + 1 should equal 0');
assert(calc.add(0, 0) === 0, '0 + 0 should equal 0');
console.log('✓ All add tests passed');
// Test subtract function
console.log('Testing subtract function...');
assert(calc.subtract(5, 3) === 2, '5 - 3 should equal 2');
assert(calc.subtract(0, 5) === -5, '0 - 5 should equal -5');
assert(calc.subtract(10, 10) === 0, '10 - 10 should equal 0');
console.log('✓ All subtract tests passed');
// Test multiply function
console.log('Testing multiply function...');
assert(calc.multiply(3, 4) === 12, '3 * 4 should equal 12');
assert(calc.multiply(-2, 3) === -6, '-2 * 3 should equal -6');
assert(calc.multiply(5, 0) === 0, '5 * 0 should equal 0');
console.log('✓ All multiply tests passed');
// Test divide function
console.log('Testing divide function...');
assert(calc.divide(10, 2) === 5, '10 / 2 should equal 5');
assert(calc.divide(9, 3) === 3, '9 / 3 should equal 3');
assert(calc.divide(7, 2) === 3.5, '7 / 2 should equal 3.5');
console.log('✓ All divide tests passed');
console.log('\n✓ All tests passed successfully!');