2017-09-24 22:23:22 +00:00
|
|
|
module TK.SpaceTac.UI.Specs {
|
2017-10-26 21:47:13 +00:00
|
|
|
testing("ArenaShip", test => {
|
2017-10-29 21:08:55 +00:00
|
|
|
let testgame = setupBattleview(test);
|
2017-02-21 22:38:31 +00:00
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
test.case("adds effects display", check => {
|
2017-10-09 21:13:56 +00:00
|
|
|
let ship = nn(testgame.view.battle.playing_ship);
|
|
|
|
let sprite = nn(testgame.view.arena.findShipSprite(ship));
|
2017-02-12 22:18:36 +00:00
|
|
|
|
2018-05-15 14:57:45 +00:00
|
|
|
check.equals(sprite.effects_messages.list.length, 0);
|
2017-02-12 22:18:36 +00:00
|
|
|
|
2018-02-08 15:16:03 +00:00
|
|
|
sprite.displayAttributeChanged(new ShipAttributeDiff(ship, "power_capacity", { cumulative: -4 }, {}));
|
2017-02-12 22:18:36 +00:00
|
|
|
|
2018-05-15 14:57:45 +00:00
|
|
|
check.equals(sprite.effects_messages.list.length, 1);
|
|
|
|
check.equals(collectTexts(sprite.effects_messages), ["power capacity -4"]);
|
2017-02-12 22:18:36 +00:00
|
|
|
});
|
2017-05-17 18:14:45 +00:00
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
test.case("adds sticky effects display", check => {
|
2017-11-14 00:07:06 +00:00
|
|
|
let battle = testgame.view.actual_battle;
|
|
|
|
let ship = nn(battle.playing_ship);
|
2017-10-09 21:13:56 +00:00
|
|
|
let sprite = nn(testgame.view.arena.findShipSprite(ship));
|
2017-05-17 18:14:45 +00:00
|
|
|
|
2018-05-15 14:57:45 +00:00
|
|
|
check.equals(sprite.active_effects_display.list.length, 0);
|
2017-05-17 18:14:45 +00:00
|
|
|
|
2017-11-14 00:07:06 +00:00
|
|
|
let effect1 = new StickyEffect(new BaseEffect("test"));
|
|
|
|
battle.applyDiffs([new ShipEffectAddedDiff(ship, effect1)]);
|
|
|
|
testgame.view.log_processor.processPending();
|
2018-05-15 14:57:45 +00:00
|
|
|
check.equals(sprite.active_effects_display.list.length, 1);
|
2017-05-17 18:14:45 +00:00
|
|
|
|
2017-11-14 00:07:06 +00:00
|
|
|
let effect2 = new StickyEffect(new BaseEffect("test"));
|
|
|
|
battle.applyDiffs([new ShipEffectAddedDiff(ship, effect2)]);
|
|
|
|
testgame.view.log_processor.processPending();
|
2018-05-15 14:57:45 +00:00
|
|
|
check.equals(sprite.active_effects_display.list.length, 2);
|
2017-05-17 18:14:45 +00:00
|
|
|
|
2017-11-14 00:07:06 +00:00
|
|
|
battle.applyDiffs([new ShipEffectRemovedDiff(ship, effect1)]);
|
|
|
|
testgame.view.log_processor.processPending();
|
2018-05-15 14:57:45 +00:00
|
|
|
check.equals(sprite.active_effects_display.list.length, 1);
|
2017-11-14 00:07:06 +00:00
|
|
|
|
|
|
|
battle.applyDiffs([new ShipEffectRemovedDiff(ship, effect2)]);
|
|
|
|
testgame.view.log_processor.processPending();
|
2018-05-15 14:57:45 +00:00
|
|
|
check.equals(sprite.active_effects_display.list.length, 0);
|
2017-05-17 18:14:45 +00:00
|
|
|
});
|
2017-02-12 22:18:36 +00:00
|
|
|
});
|
|
|
|
}
|