1
0
Fork 0
spacetac/src/core/actions/ToggleAction.spec.ts

32 lines
1.3 KiB
TypeScript
Raw Normal View History

module TK.SpaceTac.Specs {
2017-10-26 21:47:13 +00:00
testing("ToggleAction", test => {
test.case("returns correct targetting mode", check => {
2017-10-03 16:11:30 +00:00
let action = new ToggleAction(new Equipment(), 1, 0, []);
2017-10-26 21:47:13 +00:00
check.same(action.getTargettingMode(new Ship()), ActionTargettingMode.SELF_CONFIRM);
2017-10-03 16:11:30 +00:00
action.activated = true;
2017-10-26 21:47:13 +00:00
check.same(action.getTargettingMode(new Ship()), ActionTargettingMode.SELF_CONFIRM);
2017-10-03 16:11:30 +00:00
action = new ToggleAction(new Equipment(), 1, 50, []);
2017-10-26 21:47:13 +00:00
check.same(action.getTargettingMode(new Ship()), ActionTargettingMode.SURROUNDINGS);
2017-10-03 16:11:30 +00:00
action.activated = true;
2017-10-26 21:47:13 +00:00
check.same(action.getTargettingMode(new Ship()), ActionTargettingMode.SELF_CONFIRM);
2017-10-03 16:11:30 +00:00
})
2017-10-26 21:47:13 +00:00
test.case("collects impacted ships", check => {
2017-10-03 16:11:30 +00:00
let action = new ToggleAction(new Equipment(), 1, 50, []);
let battle = new Battle();
let ship1 = battle.fleets[0].addShip();
ship1.setArenaPosition(0, 0);
let ship2 = battle.fleets[0].addShip();
ship2.setArenaPosition(0, 30);
let ship3 = battle.fleets[0].addShip();
ship3.setArenaPosition(0, 60);
let result = action.getImpactedShips(ship1, Target.newFromShip(ship1));
2017-10-26 21:47:13 +00:00
check.equals(result, [ship1, ship2]);
2017-10-03 16:11:30 +00:00
});
})
}