73 lines
1.8 KiB
TypeScript
73 lines
1.8 KiB
TypeScript
module TS.SpaceTac {
|
|
describe("ShipValue", function () {
|
|
it("is initially not limited", function () {
|
|
var attr = new ShipValue("test");
|
|
|
|
attr.set(8888888);
|
|
expect(attr.get()).toBe(8888888);
|
|
});
|
|
|
|
it("applies minimal and maximal value", function () {
|
|
var attr = new ShipValue("test", 50, 100);
|
|
expect(attr.get()).toBe(50);
|
|
|
|
attr.add(8);
|
|
expect(attr.get()).toBe(58);
|
|
|
|
attr.add(60);
|
|
expect(attr.get()).toBe(100);
|
|
|
|
attr.add(-72);
|
|
expect(attr.get()).toBe(28);
|
|
|
|
attr.add(-60);
|
|
expect(attr.get()).toBe(0);
|
|
|
|
attr.set(8);
|
|
expect(attr.get()).toBe(8);
|
|
|
|
attr.set(-4);
|
|
expect(attr.get()).toBe(0);
|
|
|
|
attr.set(105);
|
|
expect(attr.get()).toBe(100);
|
|
|
|
attr.setMaximal(50);
|
|
expect(attr.get()).toBe(50);
|
|
|
|
attr.setMaximal(80);
|
|
expect(attr.get()).toBe(50);
|
|
});
|
|
|
|
it("tells the value variation", function () {
|
|
var result: number;
|
|
var attr = new ShipValue("test", 50, 100);
|
|
expect(attr.get()).toBe(50);
|
|
|
|
result = attr.set(51);
|
|
expect(result).toBe(1);
|
|
|
|
result = attr.set(51);
|
|
expect(result).toBe(0);
|
|
|
|
result = attr.add(1);
|
|
expect(result).toBe(1);
|
|
|
|
result = attr.add(0);
|
|
expect(result).toBe(0);
|
|
|
|
result = attr.add(1000);
|
|
expect(result).toBe(48);
|
|
|
|
result = attr.add(2000);
|
|
expect(result).toBe(0);
|
|
|
|
result = attr.set(-500);
|
|
expect(result).toBe(-100);
|
|
|
|
result = attr.add(-600);
|
|
expect(result).toBe(0);
|
|
});
|
|
});
|
|
}
|