41 lines
1.4 KiB
JavaScript
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!');
|