2015-03-03 00:00:00 +00:00
|
|
|
/// <reference path="../../definitions/jasmine.d.ts"/>
|
|
|
|
|
|
|
|
module SpaceTac.Game.Specs {
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
function applyGameSteps(universe: Universe): void {
|
|
|
|
universe.battle.advanceToNextShip();
|
|
|
|
// TODO Make some moves (IA?)
|
|
|
|
universe.battle.endBattle(universe.battle.fleets[0]);
|
|
|
|
}
|
|
|
|
|
|
|
|
describe("Universe", () => {
|
|
|
|
it("serializes to a string", () => {
|
|
|
|
var universe = new Universe();
|
2015-03-06 00:00:00 +00:00
|
|
|
universe.startQuickBattle(false);
|
2015-03-03 00:00:00 +00:00
|
|
|
|
|
|
|
// Dump and reload
|
|
|
|
var dumped = universe.saveToString();
|
|
|
|
var loaded_universe = Universe.loadFromString(dumped);
|
|
|
|
|
|
|
|
// Check equality
|
|
|
|
expect(loaded_universe).toEqual(universe);
|
|
|
|
|
|
|
|
// Apply game steps
|
|
|
|
applyGameSteps(universe);
|
|
|
|
applyGameSteps(loaded_universe);
|
|
|
|
|
2015-03-05 00:00:00 +00:00
|
|
|
// Clean stored times as they might differ
|
|
|
|
var clean = (u: Universe) => {
|
|
|
|
u.battle.fleets.forEach((fleet: Fleet) => {
|
|
|
|
if (fleet.player.ai) {
|
|
|
|
fleet.player.ai.started = 0;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
};
|
|
|
|
clean(universe);
|
|
|
|
clean(loaded_universe);
|
|
|
|
|
2015-03-03 00:00:00 +00:00
|
|
|
// Check equality after game steps
|
|
|
|
expect(loaded_universe).toEqual(universe);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|