import { expect, test } from "vitest" import { bigintAbs, bigintClamp, bigintIsNegative, bigintIsPositive, bigintIsZero, bigintMaxOf, bigintMinOf, } from "#Source/basic/index.ts" test("bigintIsZero returns expected values", () => { expect(bigintIsZero(0n)).toBe(true) expect(bigintIsZero(2n)).toBe(false) expect(bigintIsZero(0)).toBe(false) }) test("bigintIsPositive returns expected values", () => { expect(bigintIsPositive(3n)).toBe(true) expect(bigintIsPositive(0n)).toBe(false) expect(bigintIsPositive(-1n)).toBe(false) }) test("bigintIsNegative returns expected values", () => { expect(bigintIsNegative(-3n)).toBe(true) expect(bigintIsNegative(0n)).toBe(false) expect(bigintIsNegative(1n)).toBe(false) }) test("bigintAbs returns absolute values", () => { expect(bigintAbs(-5n)).toBe(5n) expect(bigintAbs(2n)).toBe(2n) }) test("bigintMinOf returns expected values", () => { expect(bigintMinOf(2n, 9n)).toBe(2n) expect(bigintMinOf(5n, -1n)).toBe(-1n) }) test("bigintMaxOf returns expected values", () => { expect(bigintMaxOf(2n, 9n)).toBe(9n) expect(bigintMaxOf(5n, -1n)).toBe(5n) }) test("bigintClamp clamps to provided bounds", () => { expect(bigintClamp(0n, 10n, 5n)).toBe(5n) expect(bigintClamp(0n, 10n, -3n)).toBe(0n) expect(bigintClamp(10n, 0n, 12n)).toBe(10n) })