1
0
Fork 0
spacetac/src/core/effects/AttributeEffect.spec.ts

32 lines
1.3 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("AttributeEffect", test => {
test.case("applies cumulatively on attribute", check => {
let battle = new Battle();
let ship = battle.fleets[0].addShip();
2018-03-26 15:30:43 +00:00
check.equals(ship.getAttribute("evasion"), 0, "initial");
2018-03-26 15:30:43 +00:00
let effect1 = new AttributeEffect("evasion", 20);
battle.applyDiffs(effect1.getOnDiffs(ship, ship));
2018-03-26 15:30:43 +00:00
check.equals(ship.getAttribute("evasion"), 20, "applied 1");
2018-03-26 15:30:43 +00:00
let effect2 = new AttributeEffect("evasion", 10);
battle.applyDiffs(effect2.getOnDiffs(ship, ship));
2018-03-26 15:30:43 +00:00
check.equals(ship.getAttribute("evasion"), 30, "applied 2");
2017-11-29 22:03:58 +00:00
battle.applyDiffs(effect1.getOffDiffs(ship));
2018-03-26 15:30:43 +00:00
check.equals(ship.getAttribute("evasion"), 10, "reverted 1");
2017-11-29 22:03:58 +00:00
battle.applyDiffs(effect2.getOffDiffs(ship));
2018-03-26 15:30:43 +00:00
check.equals(ship.getAttribute("evasion"), 0, "reverted 2");
});
2017-10-26 21:47:13 +00:00
test.case("has a description", check => {
2018-03-26 15:30:43 +00:00
let effect = new AttributeEffect("evasion", 12);
check.equals(effect.getDescription(), "evasion +12");
effect = new AttributeEffect("shield_capacity", -4);
2017-10-26 21:47:13 +00:00
check.equals(effect.getDescription(), "shield capacity -4");
});
});
}