100 lines
5.3 KiB
TypeScript
100 lines
5.3 KiB
TypeScript
module TS.SpaceTac.Equipments {
|
|
describe("Engines", function () {
|
|
it("generates RocketEngine based on level", function () {
|
|
let template = new RocketEngine();
|
|
|
|
let equipment = template.generate(1);
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 1 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", 2)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(2, 0));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 200));
|
|
expect(equipment.price).toEqual(120);
|
|
|
|
equipment = template.generate(2);
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 2 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", 4)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(2, 0));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 220));
|
|
expect(equipment.price).toEqual(320);
|
|
|
|
equipment = template.generate(3);
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 3 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", 6)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(2, 0));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 240));
|
|
expect(equipment.price).toEqual(720);
|
|
|
|
equipment = template.generate(10);
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 10 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", 20)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(2, 0));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 380));
|
|
expect(equipment.price).toEqual(9120);
|
|
});
|
|
|
|
it("generates IonEngine based on level", function () {
|
|
let template = new IonEngine();
|
|
|
|
let equipment = template.generate(1);
|
|
expect(equipment.requirements).toEqual({ "skill_photons": 1 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", 1)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(3, 1));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 120));
|
|
expect(equipment.price).toEqual(150);
|
|
|
|
equipment = template.generate(2);
|
|
expect(equipment.requirements).toEqual({ "skill_photons": 2 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", 2)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(3, 1));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 135));
|
|
expect(equipment.price).toEqual(380);
|
|
|
|
equipment = template.generate(3);
|
|
expect(equipment.requirements).toEqual({ "skill_photons": 3 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", 3)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(3, 1));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 150));
|
|
expect(equipment.price).toEqual(840);
|
|
|
|
equipment = template.generate(10);
|
|
expect(equipment.requirements).toEqual({ "skill_photons": 10 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", 10)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(3, 1));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 255));
|
|
expect(equipment.price).toEqual(10500);
|
|
});
|
|
|
|
it("generates VoidhawkEngine based on level", function () {
|
|
let template = new VoidhawkEngine();
|
|
|
|
let equipment = template.generate(1);
|
|
expect(equipment.requirements).toEqual({ "skill_gravity": 2 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", -5)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(1, 0));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 2000, 250));
|
|
expect(equipment.price).toEqual(340);
|
|
|
|
equipment = template.generate(2);
|
|
expect(equipment.requirements).toEqual({ "skill_gravity": 4 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", -5)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(1, 0));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 2000, 240));
|
|
expect(equipment.price).toEqual(500);
|
|
|
|
equipment = template.generate(3);
|
|
expect(equipment.requirements).toEqual({ "skill_gravity": 6 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", -4)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(1, 0));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 2000, 230));
|
|
expect(equipment.price).toEqual(820);
|
|
|
|
equipment = template.generate(10);
|
|
expect(equipment.requirements).toEqual({ "skill_gravity": 20 });
|
|
expect(equipment.effects).toEqual([new AttributeEffect("maneuvrability", 2)]);
|
|
expect(equipment.cooldown).toEqual(new Cooldown(1, 0));
|
|
expect(equipment.action).toEqual(new MoveAction(equipment, 2000, 160));
|
|
expect(equipment.price).toEqual(7540);
|
|
});
|
|
});
|
|
}
|