2017-03-17 00:07:00 +00:00
|
|
|
module TS.SpaceTac.Specs {
|
|
|
|
describe("ShipLevel", () => {
|
|
|
|
it("level up from experience points", () => {
|
|
|
|
let level = new ShipLevel();
|
|
|
|
expect(level.get()).toEqual(1);
|
|
|
|
expect(level.getNextGoal()).toEqual(100);
|
|
|
|
expect(level.getSkillPoints()).toEqual(10);
|
|
|
|
|
|
|
|
level.addExperience(60); // 60
|
|
|
|
expect(level.get()).toEqual(1);
|
|
|
|
expect(level.checkLevelUp()).toBe(false);
|
|
|
|
|
|
|
|
level.addExperience(70); // 130
|
|
|
|
expect(level.get()).toEqual(1);
|
|
|
|
expect(level.checkLevelUp()).toBe(true);
|
|
|
|
expect(level.get()).toEqual(2);
|
|
|
|
expect(level.getNextGoal()).toEqual(300);
|
|
|
|
expect(level.getSkillPoints()).toEqual(15);
|
|
|
|
|
|
|
|
level.addExperience(200); // 330
|
|
|
|
expect(level.get()).toEqual(2);
|
|
|
|
expect(level.checkLevelUp()).toBe(true);
|
|
|
|
expect(level.get()).toEqual(3);
|
|
|
|
expect(level.getNextGoal()).toEqual(600);
|
|
|
|
expect(level.getSkillPoints()).toEqual(20);
|
|
|
|
|
|
|
|
level.addExperience(320); // 650
|
|
|
|
expect(level.get()).toEqual(3);
|
|
|
|
expect(level.checkLevelUp()).toBe(true);
|
|
|
|
expect(level.get()).toEqual(4);
|
|
|
|
expect(level.getNextGoal()).toEqual(1000);
|
|
|
|
expect(level.getSkillPoints()).toEqual(25);
|
|
|
|
});
|
|
|
|
|
|
|
|
it("forces a given level", () => {
|
|
|
|
let level = new ShipLevel();
|
|
|
|
expect(level.get()).toEqual(1);
|
|
|
|
|
|
|
|
level.forceLevel(10);
|
|
|
|
expect(level.get()).toEqual(10);
|
|
|
|
});
|
2017-04-18 19:51:23 +00:00
|
|
|
|
|
|
|
it("computes needed level for given points", function () {
|
|
|
|
expect(ShipLevel.getLevelForPoints(0)).toBe(1);
|
|
|
|
expect(ShipLevel.getLevelForPoints(1)).toBe(1);
|
|
|
|
expect(ShipLevel.getLevelForPoints(2)).toBe(1);
|
|
|
|
expect(ShipLevel.getLevelForPoints(5)).toBe(1);
|
|
|
|
expect(ShipLevel.getLevelForPoints(10)).toBe(1);
|
|
|
|
expect(ShipLevel.getLevelForPoints(11)).toBe(2);
|
|
|
|
expect(ShipLevel.getLevelForPoints(15)).toBe(2);
|
|
|
|
expect(ShipLevel.getLevelForPoints(16)).toBe(3);
|
|
|
|
expect(ShipLevel.getLevelForPoints(526)).toBe(105);
|
|
|
|
});
|
|
|
|
|
|
|
|
it("computes needed points for given level", function () {
|
|
|
|
expect(ShipLevel.getPointsForLevel(1)).toBe(10);
|
|
|
|
expect(ShipLevel.getPointsForLevel(2)).toBe(15);
|
|
|
|
expect(ShipLevel.getPointsForLevel(3)).toBe(20);
|
|
|
|
expect(ShipLevel.getPointsForLevel(105)).toBe(530);
|
|
|
|
});
|
2017-03-17 00:07:00 +00:00
|
|
|
});
|
|
|
|
}
|