/// module TS.SpaceTac.Specs { class TestTemplate extends LootTemplate { constructor() { super(SlotType.Shield, "Hexagrid Shield"); this.min_level = new IntegerRange(2, 100); this.ap_usage = new Range(6, 15); } } describe("LootGenerator", () => { it("generates items within a given level range", () => { var generator = new LootGenerator(); generator.templates = [new TestTemplate()]; generator.random = new SkewedRandomGenerator([0.5]); var equipment = generator.generate(new IntegerRange(3, 6)); if (equipment) { expect(equipment.slot).toBe(SlotType.Shield); expect(equipment.name).toEqual("Hexagrid Shield"); expect(equipment.min_level).toBe(5); expect(equipment.ap_usage).toBeCloseTo(6.2727, 0.00001); } else { fail("No equipment generated"); } }); }); }