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

37 lines
1.6 KiB
TypeScript

module TK.SpaceTac.Specs {
testing("ShipEffectAddedDiff", test => {
test.case("applies and reverts", check => {
let battle = TestTools.createBattle();
let ship = battle.fleets[0].ships[0];
let effect1 = new BaseEffect("e1");
let effect2 = new BaseEffect("e2");
TestTools.diffChain(check, battle, [
new ShipEffectAddedDiff(ship, effect1),
new ShipEffectAddedDiff(ship, effect2),
new ShipEffectRemovedDiff(ship, effect1),
new ShipEffectRemovedDiff(ship, effect2),
], [
check => {
check.equals(ship.active_effects.count(), 0, "effect count");
},
check => {
check.equals(ship.active_effects.count(), 1, "effect count");
check.equals(ship.active_effects.get(effect1.id), effect1, "effect1 present");
},
check => {
check.equals(ship.active_effects.count(), 2, "effect count");
check.equals(ship.active_effects.get(effect2.id), effect2, "effect2 present");
},
check => {
check.equals(ship.active_effects.count(), 1, "effect count");
check.equals(ship.active_effects.get(effect1.id), null, "effect1 missing");
},
check => {
check.equals(ship.active_effects.count(), 0, "effect count");
},
]);
});
});
}