0ad/binaries/data/mods/public/simulation/components/tests/setup_test.js
elexis e185820e10 Implement TS_ASSERT_NUMBER as a future precaution of the integer epsilon slip in 30fe33bb0b.
Add another vector rotation test.

This was SVN commit r21064.
2018-01-29 11:55:43 +00:00

24 lines
979 B
JavaScript

Engine.RegisterInterface("TestSetup");
function TestSetup() {};
TestSetup.prototype.Init = function() {};
Engine.RegisterSystemComponentType(IID_TestSetup, "TestSetup", TestSetup);
let cmpTestSetup = ConstructComponent(SYSTEM_ENTITY, "TestSetup", { "property": "value" });
TS_ASSERT_EXCEPTION(() => { cmpTestSetup.template = "replacement forbidden"; });
TS_ASSERT_EXCEPTION(() => { cmpTestSetup.template.property = "modification forbidden"; });
TS_ASSERT_EXCEPTION(() => { cmpTestSetup.template.other_property = "insertion forbidden"; });
TS_ASSERT_EXCEPTION(() => { delete cmpTestSetup.entity; });
TS_ASSERT_EXCEPTION(() => { delete cmpTestSetup.template; });
TS_ASSERT_EXCEPTION(() => { delete cmpTestSetup.template.property; });
TS_ASSERT_UNEVAL_EQUALS(cmpTestSetup.template, { "property": "value" });
TS_ASSERT_NUMBER(0);
TS_ASSERT_NUMBER(1);
TS_ASSERT_NUMBER(-1);
TS_ASSERT_NUMBER(0.5);
TS_ASSERT_NUMBER(1/3);
TS_ASSERT_NUMBER(Math.sqrt(2));
TS_ASSERT_NUMBER(Math.PI);