1
0
Fork 0
spacetac/src/core/diffs/ShipActionUsedDiff.spec.ts

33 lines
1.5 KiB
TypeScript

module TK.SpaceTac.Specs {
testing("ShipActionUsedDiff", test => {
test.case("applies and reverts", check => {
let battle = new Battle();
let ship = battle.fleets[0].addShip();
let generator = TestTools.setShipAP(ship, 10);
let weapon = TestTools.addWeapon(ship, 50, 3, 10, 20);
weapon.cooldown.configure(2, 1);
TestTools.diffChain(check, battle, [
new ShipActionUsedDiff(ship, nn(weapon.action), Target.newFromShip(ship)),
new ShipActionUsedDiff(ship, nn(weapon.action), Target.newFromShip(ship)),
], [
check => {
check.equals(weapon.cooldown.getRemainingUses(), 2, "cooldown");
check.equals(weapon.wear, 0, "weapon wear");
check.equals(generator.wear, 0, "generator wear");
},
check => {
check.equals(weapon.cooldown.getRemainingUses(), 1, "cooldown");
check.equals(weapon.wear, 1, "weapon wear");
check.equals(generator.wear, 1, "generator wear");
},
check => {
check.equals(weapon.cooldown.getRemainingUses(), 0, "cooldown");
check.equals(weapon.wear, 2, "weapon wear");
check.equals(generator.wear, 2, "generator wear");
},
]);
});
});
}