test/lcm.test.js
zzmq.dev@gmail.com/mathkit / test / lcm.test.js
@ 9271926f
Download
Ladder Summary
- file Provides a comprehensive test suite for the `lcm` function, verifying correct results for typical pairs, handling of zero and negative inputs, and ensuring that non‑integer arguments produce `NaN`.
import { test } from "node:test";
import assert from "node:assert/strict";
import { lcm } from "../src/lcm.js";
test("lcm calculates least common multiple", () => {
assert.strictEqual(lcm(4, 6), 12);
assert.strictEqual(lcm(21, 6), 42);
assert.strictEqual(lcm(13, 7), 91);
assert.strictEqual(lcm(5, 5), 5);
});
test("lcm with zeros", () => {
assert.strictEqual(lcm(0, 10), 0);
assert.strictEqual(lcm(10, 0), 0);
});
test("lcm with negative numbers", () => {
assert.strictEqual(lcm(-3, 5), 15);
assert.strictEqual(lcm(-4, -6), 12);
});
test("lcm with non‑integer arguments returns NaN", () => {
assert.ok(Number.isNaN(lcm(2.5, 4)));
assert.ok(Number.isNaN(lcm(3, 4.1)));
});