1
0
Fork 0
spacetac/src/core/ShipModel.spec.ts

22 lines
1.1 KiB
TypeScript

module TK.SpaceTac.Specs {
describe("ShipModel", () => {
it("picks random models from default collection", function () {
spyOn(console, "error").and.stub();
spyOn(ShipModel, "getDefaultCollection").and.returnValues(
[new ShipModel("a")],
[],
[new ShipModel("a"), new ShipModel("b")],
[new ShipModel("a")],
[],
);
expect(ShipModel.getRandomModel()).toEqual(new ShipModel("a"), "pick from a one-item list");
expect(ShipModel.getRandomModel()).toEqual(new ShipModel(), "pick from an empty list");
expect(sorted(ShipModel.getRandomModels(2), (a, b) => cmp(a.code, b.code))).toEqual([new ShipModel("a"), new ShipModel("b")], "sample from good-sized list");
expect(ShipModel.getRandomModels(2)).toEqual([new ShipModel("a"), new ShipModel("a")], "sample from too small list");
expect(ShipModel.getRandomModels(2)).toEqual([new ShipModel(), new ShipModel()], "sample from empty list");
});
});
}