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);
|
|
|
|
});
|
|
|
|
});
|