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

35 lines
1.3 KiB
TypeScript
Raw Normal View History

2019-11-21 22:14:27 +00:00
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);
2017-05-09 17:19:26 +00:00
2019-11-21 22:14:27 +00:00
// 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);
2017-05-09 17:19:26 +00:00
2019-11-21 22:14:27 +00:00
// 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);
});
});