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

34 lines
1.2 KiB
TypeScript
Raw Normal View History

2019-11-21 22:14:27 +00:00
import { testing } from "../../common/Testing";
import { VigilanceAction } from "../actions/VigilanceAction";
import { Battle } from "../Battle";
import { ShipDamageDiff } from "../diffs/ShipDamageDiff";
import { ShipValueDiff } from "../diffs/ShipValueDiff";
import { VigilanceAppliedDiff } from "../diffs/VigilanceAppliedDiff";
import { TestTools } from "../TestTools";
import { DamageEffect } from "./DamageEffect";
import { VigilanceEffect } from "./VigilanceEffect";
2018-03-29 22:57:53 +00:00
2019-11-21 22:14:27 +00:00
testing("VigilanceEffect", test => {
test.case("applies vigilance effects on intruding ships", check => {
let battle = new Battle();
let source = battle.fleets[0].addShip();
let target = battle.fleets[1].addShip();
2018-03-29 22:57:53 +00:00
2019-11-21 22:14:27 +00:00
let action = source.actions.addCustom(new VigilanceAction("Reactive Shot"));
action.configureVigilance({ intruder_effects: [new DamageEffect(1)] });
let effect = new VigilanceEffect(action);
2018-03-29 22:57:53 +00:00
2019-11-21 22:14:27 +00:00
let diffs = effect.getOnDiffs(target, source);
check.equals(diffs, []);
2018-03-29 22:57:53 +00:00
2019-11-21 22:14:27 +00:00
TestTools.setShipModel(target, 10);
diffs = effect.getOnDiffs(target, source);
check.equals(diffs, [
new VigilanceAppliedDiff(source, action, target),
new ShipDamageDiff(target, 1, 0),
new ShipValueDiff(target, "hull", -1)
]);
})
})