zz_

test/isPrime.test.js

zzmq.dev@gmail.com/mathkit / test / isPrime.test.js @ 9271926f Download
Ladder Summary
  • file Contains node:test unit tests for isPrime, verifying correct true results for known primes, false results for composites, edge cases, negative numbers, zero, one, non‑integers, NaN and infinite values.
import { test } from "node:test";
import assert from "node:assert/strict";
import { isPrime } from "../src/isPrime.js";

test("isPrime correctly identifies prime numbers", () => {
  assert.strictEqual(isPrime(2), true);
  assert.strictEqual(isPrime(3), true);
  assert.strictEqual(isPrime(5), true);
  assert.strictEqual(isPrime(7), true);
  assert.strictEqual(isPrime(11), true);
  assert.strictEqual(isPrime(13), true);
  assert.strictEqual(isPrime(17), true);
  assert.strictEqual(isPrime(19), true);
});

test("isPrime correctly identifies non‑prime numbers", () => {
  assert.strictEqual(isPrime(1), false);
  assert.strictEqual(isPrime(0), false);
  assert.strictEqual(isPrime(-5), false);
  assert.strictEqual(isPrime(4), false);
  assert.strictEqual(isPrime(6), false);
  assert.strictEqual(isPrime(9), false);
  assert.strictEqual(isPrime(15), false);
});

test("isPrime returns false for non‑integers and special numbers", () => {
  assert.strictEqual(isPrime(2.5), false);
  assert.strictEqual(isPrime(NaN), false);
  assert.strictEqual(isPrime(Infinity), false);
  assert.strictEqual(isPrime(-Infinity), false);
});