1
0
Fork 0
spacetac/src/ui/battle/ArenaShip.spec.ts

47 lines
2 KiB
TypeScript
Raw Normal View History

/// <reference path="../TestGame.ts"/>
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-10-26 21:47:13 +00:00
check.equals(sprite.effects_messages.children.length, 0);
sprite.displayAttributeChanged(new ShipAttributeDiff(ship, "power_generation", { cumulative: -4 }, {}));
2017-10-26 21:47:13 +00:00
check.equals(sprite.effects_messages.children.length, 1);
let t1 = <Phaser.Text>sprite.effects_messages.getChildAt(0);
2017-10-26 21:47:13 +00:00
check.equals(t1.text, "power generation -4");
});
2017-10-26 21:47:13 +00:00
test.case("adds sticky effects display", check => {
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-10-26 21:47:13 +00:00
check.equals(sprite.active_effects_display.children.length, 0);
let effect1 = new StickyEffect(new BaseEffect("test"));
battle.applyDiffs([new ShipEffectAddedDiff(ship, effect1)]);
testgame.view.log_processor.processPending();
2017-10-26 21:47:13 +00:00
check.equals(sprite.active_effects_display.children.length, 1);
let effect2 = new StickyEffect(new BaseEffect("test"));
battle.applyDiffs([new ShipEffectAddedDiff(ship, effect2)]);
testgame.view.log_processor.processPending();
2017-10-26 21:47:13 +00:00
check.equals(sprite.active_effects_display.children.length, 2);
battle.applyDiffs([new ShipEffectRemovedDiff(ship, effect1)]);
testgame.view.log_processor.processPending();
check.equals(sprite.active_effects_display.children.length, 1);
battle.applyDiffs([new ShipEffectRemovedDiff(ship, effect2)]);
testgame.view.log_processor.processPending();
2017-10-26 21:47:13 +00:00
check.equals(sprite.active_effects_display.children.length, 0);
});
});
}