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
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");
|
|
});
|
|
});
|
|
|