2017-09-24 22:23:22 +00:00
|
|
|
module TK.SpaceTac {
|
2017-10-26 21:47:13 +00:00
|
|
|
testing("ShipValue", test => {
|
|
|
|
test.case("is initially not limited", check => {
|
2017-02-07 19:15:21 +00:00
|
|
|
var attr = new ShipValue("test");
|
|
|
|
|
|
|
|
attr.set(8888888);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 8888888);
|
2017-02-07 19:15:21 +00:00
|
|
|
});
|
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
test.case("applies minimal and maximal value", check => {
|
2017-02-07 19:15:21 +00:00
|
|
|
var attr = new ShipValue("test", 50, 100);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 50);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
attr.add(8);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 58);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
attr.add(60);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 100);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
attr.add(-72);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 28);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
attr.add(-60);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 0);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
attr.set(8);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 8);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
attr.set(-4);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 0);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
attr.set(105);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 100);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
attr.setMaximal(50);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 50);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
attr.setMaximal(80);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 50);
|
2017-02-07 19:15:21 +00:00
|
|
|
});
|
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
test.case("tells the value variation", check => {
|
2017-02-12 22:18:36 +00:00
|
|
|
var result: number;
|
2017-02-07 19:15:21 +00:00
|
|
|
var attr = new ShipValue("test", 50, 100);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(attr.get(), 50);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
result = attr.set(51);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(result, 1);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
result = attr.set(51);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(result, 0);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
result = attr.add(1);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(result, 1);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
result = attr.add(0);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(result, 0);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
result = attr.add(1000);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(result, 48);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
result = attr.add(2000);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(result, 0);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
result = attr.set(-500);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.same(result, -100);
|
2017-02-07 19:15:21 +00:00
|
|
|
|
|
|
|
result = attr.add(-600);
|
2017-10-26 21:47:13 +00:00
|
|
|
check.equals(result, 0);
|
2017-02-07 19:15:21 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|