Differential D2755 Diff 12462 binaries/data/mods/public/simulation/components/tests/test_ResourceSupply.js
Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/tests/test_ResourceSupply.js
Show All 18 Lines | |||||
AddMock(SYSTEM_ENTITY, IID_PlayerManager, { | AddMock(SYSTEM_ENTITY, IID_PlayerManager, { | ||||
"GetNumPlayers": () => 3 | "GetNumPlayers": () => 3 | ||||
}); | }); | ||||
AddMock(entity, IID_Fogging, { | AddMock(entity, IID_Fogging, { | ||||
"Activate": () => {} | "Activate": () => {} | ||||
}); | }); | ||||
AddMock(70, IID_Ownership, { | |||||
"GetOwner": () => 1 | |||||
}); | |||||
AddMock(71, IID_Ownership, { | |||||
"GetOwner": () => 1 | |||||
}); | |||||
AddMock(72, IID_Ownership, { | |||||
"GetOwner": () => 2 | |||||
}); | |||||
AddMock(73, IID_Ownership, { | |||||
"GetOwner": () => 1 | |||||
}); | |||||
let template = { | let template = { | ||||
"Amount": 1000, | "Amount": 1000, | ||||
"Type": "food.meat", | "Type": "food.meat", | ||||
"KillBeforeGather": false, | "KillBeforeGather": false, | ||||
"MaxGatherers": 2 | "MaxGatherers": 2 | ||||
}; | }; | ||||
let cmpResourceSupply = ConstructComponent(entity, "ResourceSupply", template); | let cmpResourceSupply = ConstructComponent(entity, "ResourceSupply", template); | ||||
TS_ASSERT(!cmpResourceSupply.IsInfinite()); | TS_ASSERT(!cmpResourceSupply.IsInfinite()); | ||||
TS_ASSERT(!cmpResourceSupply.GetKillBeforeGather()); | TS_ASSERT(!cmpResourceSupply.GetKillBeforeGather()); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetMaxAmount(), 1000); | TS_ASSERT_EQUALS(cmpResourceSupply.GetMaxAmount(), 1000); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetMaxGatherers(), 2); | TS_ASSERT_EQUALS(cmpResourceSupply.GetMaxGatherers(), 2); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetDiminishingReturns(), null); | TS_ASSERT_EQUALS(cmpResourceSupply.GetDiminishingReturns(), null); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 0); | TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 0); | ||||
TS_ASSERT(cmpResourceSupply.IsAvailable(1, 70)); | TS_ASSERT(cmpResourceSupply.IsAvailableTo(70)); | ||||
TS_ASSERT(cmpResourceSupply.AddGatherer(1, 70)); | TS_ASSERT(cmpResourceSupply.AddGatherer(70)); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 1); | TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 1); | ||||
TS_ASSERT(cmpResourceSupply.AddGatherer(1, 71)); | TS_ASSERT(cmpResourceSupply.AddGatherer(71)); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 2); | TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 2); | ||||
TS_ASSERT(!cmpResourceSupply.AddGatherer(2, 72)); | TS_ASSERT(!cmpResourceSupply.AddGatherer(72)); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 2); | TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 2); | ||||
TS_ASSERT(cmpResourceSupply.IsAvailable(1, 70)); | TS_ASSERT(cmpResourceSupply.IsAvailableTo(70)); | ||||
TS_ASSERT(!cmpResourceSupply.IsAvailable(1, 73)); | TS_ASSERT(!cmpResourceSupply.IsAvailableTo(73)); | ||||
TS_ASSERT(!cmpResourceSupply.AddGatherer(1, 73)); | TS_ASSERT(!cmpResourceSupply.AddGatherer(73)); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 2); | TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 2); | ||||
cmpResourceSupply.RemoveGatherer(70, 1); | cmpResourceSupply.RemoveGatherer(70, 1); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 1); | TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 1); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000); | TS_ASSERT_UNEVAL_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpResourceSupply.TakeResources(300), { "amount": 300, "exhausted": false }); | TS_ASSERT_UNEVAL_EQUALS(cmpResourceSupply.TakeResources(300), { "amount": 300, "exhausted": false }); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 700); | TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 700); | ||||
TS_ASSERT(cmpResourceSupply.IsAvailable(1, 70)); | TS_ASSERT(cmpResourceSupply.IsAvailableTo(70)); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpResourceSupply.TakeResources(800), { "amount": 700, "exhausted": true }); | TS_ASSERT_UNEVAL_EQUALS(cmpResourceSupply.TakeResources(800), { "amount": 700, "exhausted": true }); | ||||
TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 0); | TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 0); | ||||
// The resource is not available when exhausted | // The resource is not available when exhausted | ||||
TS_ASSERT(!cmpResourceSupply.IsAvailable(1, 70)); | TS_ASSERT(!cmpResourceSupply.IsAvailableTo(70)); |
Wildfire Games · Phabricator