1
0
Fork 0
spacetac/src/core/BattleOutcome.spec.ts

37 lines
1.5 KiB
TypeScript

module TK.SpaceTac.Specs {
testing("BattleOutcome", test => {
test.case("grants experience", check => {
let fleet1 = new Fleet();
let ship1a = fleet1.addShip(new Ship());
ship1a.level.forceLevel(3);
let ship1b = fleet1.addShip(new Ship());
ship1b.level.forceLevel(4);
let fleet2 = new Fleet();
let ship2a = fleet2.addShip(new Ship());
ship2a.level.forceLevel(6);
let ship2b = fleet2.addShip(new Ship());
ship2b.level.forceLevel(8);
check.equals(ship1a.level.getExperience(), 300);
check.equals(ship1b.level.getExperience(), 600);
check.equals(ship2a.level.getExperience(), 1500);
check.equals(ship2b.level.getExperience(), 2800);
// draw
let outcome = new BattleOutcome(null);
outcome.grantExperience([fleet1, fleet2]);
check.equals(ship1a.level.getExperience(), 345);
check.equals(ship1b.level.getExperience(), 645);
check.equals(ship2a.level.getExperience(), 1511);
check.equals(ship2b.level.getExperience(), 2811);
// win/lose
outcome = new BattleOutcome(fleet1);
outcome.grantExperience([fleet1, fleet2]);
check.equals(ship1a.level.getExperience(), 480);
check.equals(ship1b.level.getExperience(), 780);
check.equals(ship2a.level.getExperience(), 1518);
check.equals(ship2b.level.getExperience(), 2818);
});
});
}