You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

27 lines
872 B

import { describe, expect, it } from "vitest";
import { createRng, normalizeSeed } from "../../src/game/chase/rng";
describe("chase rng", () => {
it("generates the same sequence for the same seed", () => {
const seed = 12345;
const rngA = createRng(seed);
const rngB = createRng(seed);
const sequenceA = Array.from({ length: 5 }, () => rngA());
const sequenceB = Array.from({ length: 5 }, () => rngB());
expect(sequenceA).toEqual(sequenceB);
});
it("normalizeSeed returns a number for undefined input", () => {
expect(typeof normalizeSeed(undefined)).toBe("number");
});
it("normalizeSeed returns a number for empty string", () => {
expect(typeof normalizeSeed("")).toBe("number");
});
it("normalizeSeed returns a number for non-numeric string", () => {
expect(typeof normalizeSeed("abc")).toBe("number");
});
});