import { describe, expect, it } from "vitest"; import { MODE_COPY, selectRandomBoss, selectRandomBossPair } from "./data"; describe("game mode configuration", () => { it("separates randomized PVE from selectable Dungeons", () => { expect(MODE_COPY["roguelike-pve"].title).toBe("PVE"); expect(MODE_COPY.dungeons.title).toBe("Dungeons"); }); it("selects a boss across the full encounter pool", () => { expect(selectRandomBoss(() => 0)).toBe("bulldrome"); expect(selectRandomBoss(() => 0.34)).toBe("vexa"); expect(selectRandomBoss(() => 0.99)).toBe("cindermaw"); }); it("selects two distinct bosses for PVE", () => { const values = [0, 0]; const pair = selectRandomBossPair(() => values.shift() ?? 0); expect(pair).toEqual(["bulldrome", "vexa"]); expect(new Set(pair)).toHaveLength(2); }); });