2017-10-09 22:59:49 +00:00
|
|
|
module TK.SpaceTac.Specs {
|
2017-10-26 21:47:13 +00:00
|
|
|
testing("ShipModel", test => {
|
|
|
|
test.case("picks random models from default collection", check => {
|
2017-10-09 22:59:49 +00:00
|
|
|
spyOn(console, "error").and.stub();
|
|
|
|
spyOn(ShipModel, "getDefaultCollection").and.returnValues(
|
|
|
|
[new ShipModel("a")],
|
|
|
|
[],
|
|
|
|
[new ShipModel("a"), new ShipModel("b")],
|
|
|
|
[new ShipModel("a")],
|
|
|
|
[],
|
|
|
|
);
|
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(ShipModel.getRandomModel(), new ShipModel("a"), "pick from a one-item list");
|
|
|
|
check.equals(ShipModel.getRandomModel(), new ShipModel(), "pick from an empty list");
|
2017-10-09 22:59:49 +00:00
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(sorted(ShipModel.getRandomModels(2), (a, b) => cmp(a.code, b.code)), [new ShipModel("a"), new ShipModel("b")], "sample from good-sized list");
|
|
|
|
check.equals(ShipModel.getRandomModels(2), [new ShipModel("a"), new ShipModel("a")], "sample from too small list");
|
|
|
|
check.equals(ShipModel.getRandomModels(2), [new ShipModel(), new ShipModel()], "sample from empty list");
|
2017-10-09 22:59:49 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|