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

40 lines
1.3 KiB
TypeScript
Raw Normal View History

2017-09-24 22:23:22 +00:00
module TK.SpaceTac.Specs {
2017-10-26 21:47:13 +00:00
testing("Shop", test => {
test.case("generates secondary missions", check => {
2017-07-06 22:55:29 +00:00
let universe = new Universe();
universe.generate(4);
let start = universe.getStartLocation();
let shop = new Shop();
2017-10-26 21:47:13 +00:00
check.equals((<any>shop).missions.length, 0);
2017-07-06 22:55:29 +00:00
let result = shop.getMissions(start, 4);
2017-10-26 21:47:13 +00:00
check.equals(result.length, 4);
check.equals((<any>shop).missions.length, 4);
2017-07-06 22:55:29 +00:00
let oresult = shop.getMissions(start, 4);
2017-10-26 21:47:13 +00:00
check.equals(oresult, result);
2017-07-06 22:55:29 +00:00
result.forEach(mission => {
2017-10-26 21:47:13 +00:00
check.equals(mission.main, false);
2017-07-06 22:55:29 +00:00
});
});
2017-10-26 21:47:13 +00:00
test.case("assigns missions to a fleet", check => {
2017-07-06 22:55:29 +00:00
let shop = new Shop();
let player = new Player();
let mission = new Mission(new Universe());
(<any>shop).missions = [mission];
2017-10-26 21:47:13 +00:00
check.equals(shop.getMissions(new StarLocation(), 1), [mission]);
check.equals(player.missions.secondary, []);
2017-07-06 22:55:29 +00:00
shop.acceptMission(mission, player);
2017-10-26 21:47:13 +00:00
check.equals((<any>shop).missions, []);
check.equals(player.missions.secondary, [mission]);
check.same(mission.fleet, player.fleet);
2017-07-06 22:55:29 +00:00
});
2017-03-23 18:58:09 +00:00
});
}