2017-09-24 22:23:22 +00:00
|
|
|
module TK.SpaceTac.Specs {
|
2017-10-26 21:47:13 +00:00
|
|
|
testing("ValueTransferEffect", test => {
|
|
|
|
test.case("takes or gives value", check => {
|
2017-05-28 22:16:50 +00:00
|
|
|
let ship1 = new Ship();
|
|
|
|
TestTools.setShipHP(ship1, 100, 50);
|
|
|
|
ship1.setValue("hull", 10);
|
|
|
|
let ship2 = new Ship();
|
|
|
|
TestTools.setShipHP(ship2, 100, 50);
|
|
|
|
|
|
|
|
let effect = new ValueTransferEffect("hull", -30);
|
|
|
|
effect.applyOnShip(ship2, ship1);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(ship1.getValue("hull"), 40);
|
|
|
|
check.equals(ship2.getValue("hull"), 70);
|
2017-05-28 22:16:50 +00:00
|
|
|
|
|
|
|
effect = new ValueTransferEffect("hull", 1000);
|
|
|
|
effect.applyOnShip(ship2, ship1);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(ship1.getValue("hull"), 0);
|
|
|
|
check.equals(ship2.getValue("hull"), 100);
|
2017-05-28 22:16:50 +00:00
|
|
|
})
|
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
test.case("builds a description", check => {
|
2017-05-28 22:16:50 +00:00
|
|
|
let effect = new ValueTransferEffect("power", 12);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(effect.getDescription(), "give 12 power");
|
|
|
|
check.equals(effect.isBeneficial(), true);
|
2017-05-28 22:16:50 +00:00
|
|
|
|
|
|
|
effect = new ValueTransferEffect("shield", -20);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(effect.getDescription(), "steal 20 shield");
|
|
|
|
check.equals(effect.isBeneficial(), false);
|
2017-05-28 22:16:50 +00:00
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|