1
0
Fork 0
spacetac/src/core/missions/Mission.spec.ts

59 lines
2.1 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("Mission", test => {
test.case("check step status", check => {
let universe = new Universe();
let fleet = new Fleet();
2017-06-29 17:25:38 +00:00
let mission = new Mission(universe, fleet);
mission.addPart(new MissionPart(mission, "Part 1"));
mission.addPart(new MissionPart(mission, "Part 2"));
2017-10-26 21:47:13 +00:00
check.same(mission.current_part, mission.parts[0]);
2017-06-29 17:25:38 +00:00
let result = mission.checkStatus();
2017-10-26 21:47:13 +00:00
check.equals(result, true);
check.same(mission.current_part, mission.parts[0]);
2018-03-29 22:57:53 +00:00
check.patch(mission.parts[0], "checkCompleted", nnf(true, iterator([false, true])));
2017-06-29 17:25:38 +00:00
result = mission.checkStatus();
2017-10-26 21:47:13 +00:00
check.equals(result, true);
check.same(mission.current_part, mission.parts[0]);
2017-06-29 17:25:38 +00:00
result = mission.checkStatus();
2017-10-26 21:47:13 +00:00
check.equals(result, true);
check.same(mission.current_part, mission.parts[1]);
2017-06-29 17:25:38 +00:00
result = mission.checkStatus();
2017-10-26 21:47:13 +00:00
check.equals(result, true);
check.same(mission.current_part, mission.parts[1]);
2017-10-29 21:08:55 +00:00
check.patch(mission.parts[1], "checkCompleted", () => true);
2017-06-29 17:25:38 +00:00
result = mission.checkStatus();
2017-10-26 21:47:13 +00:00
check.equals(result, false);
check.same(mission.current_part, mission.parts[1]);
})
2017-07-10 22:50:38 +00:00
2017-10-26 21:47:13 +00:00
test.case("stores a reward", check => {
2017-07-10 22:50:38 +00:00
let mission = new Mission(new Universe());
2017-10-26 21:47:13 +00:00
check.equals(mission.getRewardText(), "-");
2017-07-10 22:50:38 +00:00
mission.reward = 720;
2017-10-26 21:47:13 +00:00
check.equals(mission.getRewardText(), "720 zotys");
2017-07-10 22:50:38 +00:00
})
2017-10-26 21:47:13 +00:00
test.case("gives the reward on completion", check => {
2017-07-10 22:50:38 +00:00
let fleet = new Fleet();
let ship = fleet.addShip();
fleet.credits = 150;
let mission = new Mission(new Universe(), fleet);
mission.reward = 75;
mission.setCompleted();
2017-10-26 21:47:13 +00:00
check.equals(mission.completed, true);
check.equals(fleet.credits, 225);
2017-07-10 22:50:38 +00:00
mission.setCompleted();
2017-10-26 21:47:13 +00:00
check.equals(fleet.credits, 225);
2017-07-10 22:50:38 +00:00
})
})
}