Differential D2056 Diff 15003 binaries/data/mods/public/simulation/components/tests/test_Garrisonable.js
Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/tests/test_Garrisonable.js
Engine.LoadComponentScript("interfaces/Garrisonable.js"); | Engine.LoadComponentScript("interfaces/Garrisonable.js"); | ||||
Engine.LoadComponentScript("interfaces/GarrisonHolder.js"); | |||||
Engine.LoadComponentScript("Garrisonable.js"); | Engine.LoadComponentScript("Garrisonable.js"); | ||||
Engine.RegisterGlobal("ApplyValueModificationsToEntity", (prop, oVal, ent) => oVal); | |||||
const garrisonHolderID = 1; | const garrisonHolderID = 1; | ||||
const garrisonableID = 2; | const garrisonableID = 2; | ||||
let size = 1; | |||||
let cmpGarrisonable = ConstructComponent(garrisonableID, "Garrisonable", { | let cmpGarrisonable = ConstructComponent(garrisonableID, "Garrisonable", { | ||||
"Size": size | |||||
}); | }); | ||||
TS_ASSERT_EQUALS(cmpGarrisonable.UnitSize(garrisonHolderID), size); | |||||
TS_ASSERT_EQUALS(cmpGarrisonable.TotalSize(garrisonHolderID), size); | |||||
let extraSize = 2; | |||||
AddMock(garrisonableID, IID_GarrisonHolder, { | |||||
"OccupiedSlots": () => extraSize | |||||
}); | |||||
TS_ASSERT_EQUALS(cmpGarrisonable.UnitSize(garrisonHolderID), size); | |||||
TS_ASSERT_EQUALS(cmpGarrisonable.TotalSize(garrisonHolderID), size + extraSize); | |||||
TS_ASSERT(cmpGarrisonable.Garrison(garrisonHolderID)); | TS_ASSERT(cmpGarrisonable.Garrison(garrisonHolderID)); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpGarrisonable.HolderID(), garrisonHolderID); | TS_ASSERT_UNEVAL_EQUALS(cmpGarrisonable.HolderID(), garrisonHolderID); | ||||
TS_ASSERT(!cmpGarrisonable.Garrison(garrisonHolderID)); | TS_ASSERT(!cmpGarrisonable.Garrison(garrisonHolderID)); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpGarrisonable.HolderID(), garrisonHolderID); | TS_ASSERT_UNEVAL_EQUALS(cmpGarrisonable.HolderID(), garrisonHolderID); | ||||
cmpGarrisonable.UnGarrison(); | cmpGarrisonable.UnGarrison(); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpGarrisonable.HolderID(), INVALID_ENTITY); | TS_ASSERT_UNEVAL_EQUALS(cmpGarrisonable.HolderID(), INVALID_ENTITY); |
Wildfire Games · Phabricator