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

70 lines
2.6 KiB
TypeScript
Raw Normal View History

2017-09-24 22:23:22 +00:00
module TK.SpaceTac {
2017-10-26 21:47:13 +00:00
testing("Player", test => {
test.case("keeps track of visited locations", check => {
2017-01-29 18:34:38 +00:00
let player = new Player();
let star1 = new Star();
let star2 = new Star();
let loc1a = new StarLocation(star1);
let loc1b = new StarLocation(star1);
let loc2a = new StarLocation(star2);
let loc2b = new StarLocation(star2);
function checkVisited(s1 = false, s2 = false, v1a = false, v1b = false, v2a = false, v2b = false) {
2017-10-26 21:47:13 +00:00
check.same(player.hasVisitedSystem(star1), s1);
check.same(player.hasVisitedSystem(star2), s2);
check.same(player.hasVisitedLocation(loc1a), v1a);
check.same(player.hasVisitedLocation(loc1b), v1b);
check.same(player.hasVisitedLocation(loc2a), v2a);
check.same(player.hasVisitedLocation(loc2b), v2b);
2017-01-29 18:34:38 +00:00
}
checkVisited();
player.setVisited(loc1b);
checkVisited(true, false, false, true, false, false);
player.setVisited(loc1a);
checkVisited(true, false, true, true, false, false);
player.setVisited(loc2a);
checkVisited(true, true, true, true, true, false);
player.setVisited(loc2a);
checkVisited(true, true, true, true, true, false);
});
2017-03-14 22:28:07 +00:00
2017-10-26 21:47:13 +00:00
test.case("reverts battle", check => {
2017-03-14 22:28:07 +00:00
let player = new Player();
let star = new Star();
let loc1 = new StarLocation(star);
2017-05-02 17:59:41 +00:00
loc1.clearEncounter();
2017-03-14 22:28:07 +00:00
let loc2 = new StarLocation(star);
loc2.encounter_random = new SkewedRandomGenerator([0], true);
player.fleet.setLocation(loc1);
2017-10-26 21:47:13 +00:00
check.equals(player.getBattle(), null);
check.same(player.fleet.location, loc1);
2017-03-14 22:28:07 +00:00
player.fleet.setLocation(loc2);
2017-10-26 21:47:13 +00:00
check.notequals(player.getBattle(), null);
check.same(player.fleet.location, loc2);
check.equals(player.hasVisitedLocation(loc2), true);
2017-03-14 22:28:07 +00:00
let enemy = loc2.encounter;
player.revertBattle();
2017-10-26 21:47:13 +00:00
check.equals(player.getBattle(), null);
check.same(player.fleet.location, loc1);
check.equals(player.hasVisitedLocation(loc2), true);
2017-03-14 22:28:07 +00:00
player.fleet.setLocation(loc2);
2017-10-26 21:47:13 +00:00
check.notequals(player.getBattle(), null);
check.same(player.fleet.location, loc2);
check.equals(player.hasVisitedLocation(loc2), true);
check.same(nn(player.getBattle()).fleets[1], nn(enemy));
2017-03-14 22:28:07 +00:00
});
2017-01-29 18:34:38 +00:00
});
}