Files
i-want-to-heal-mmo/src/game/progression/hunterStats.test.ts
T
2026-07-12 23:39:57 -04:00

29 lines
1.2 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { highestEndlessBossKillsAfterDefeat, highestRoguelikeRoundAfterDefeat } from "./hunterStats";
describe("roguelike hunter records", () => {
it("records the reached defeat round without lowering a previous best", () => {
expect(highestRoguelikeRoundAfterDefeat(0, 1)).toBe(1);
expect(highestRoguelikeRoundAfterDefeat(7, 12)).toBe(12);
expect(highestRoguelikeRoundAfterDefeat(12, 7)).toBe(12);
});
it("normalizes invalid and fractional round values", () => {
expect(highestRoguelikeRoundAfterDefeat(Number.NaN, Number.NaN)).toBe(1);
expect(highestRoguelikeRoundAfterDefeat(4.9, 8.9)).toBe(8);
});
});
describe("Rogue Trials endless hunter records", () => {
it("keeps the highest boss count from one endless run", () => {
expect(highestEndlessBossKillsAfterDefeat(0, 17)).toBe(17);
expect(highestEndlessBossKillsAfterDefeat(17, 9)).toBe(17);
expect(highestEndlessBossKillsAfterDefeat(17, 23)).toBe(23);
});
it("normalizes invalid and fractional kill counts", () => {
expect(highestEndlessBossKillsAfterDefeat(Number.NaN, Number.NaN)).toBe(0);
expect(highestEndlessBossKillsAfterDefeat(4.9, 8.9)).toBe(8);
});
});