Differential D1108 Diff 5010 ps/trunk/binaries/data/mods/public/simulation/components/tests/test_ProductionQueue.js
Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/simulation/components/tests/test_ProductionQueue.js
Resources = { | Resources = { | ||||
"BuildSchema": (a, b) => {} | "BuildSchema": (a, b) => {} | ||||
}; | }; | ||||
Engine.LoadHelperScript("Player.js"); | Engine.LoadHelperScript("Player.js"); | ||||
Engine.LoadComponentScript("interfaces/TechnologyManager.js"); | Engine.LoadComponentScript("interfaces/TechnologyManager.js"); | ||||
Engine.LoadComponentScript("interfaces/ProductionQueue.js"); | Engine.LoadComponentScript("interfaces/ProductionQueue.js"); | ||||
Engine.LoadComponentScript("ProductionQueue.js"); | Engine.LoadComponentScript("ProductionQueue.js"); | ||||
global.TechnologyTemplates = { | |||||
"Has": name => name == "phase_town_athen" || name == "phase_city_athen", | |||||
"Get": () => ({}) | |||||
}; | |||||
const productionQueueId = 6; | const productionQueueId = 6; | ||||
const playerId = 1; | const playerId = 1; | ||||
const playerEntityID = 2; | const playerEntityID = 2; | ||||
AddMock(SYSTEM_ENTITY, IID_TemplateManager, { | AddMock(SYSTEM_ENTITY, IID_TemplateManager, { | ||||
"TemplateExists": () => true, | "TemplateExists": () => true, | ||||
"GetTemplate": name => ({}) | "GetTemplate": name => ({}) | ||||
}); | }); | ||||
Show All 9 Lines | |||||
cmpProductionQueue.CalculateEntitiesList(); | cmpProductionQueue.CalculateEntitiesList(); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpProductionQueue.GetEntitiesList(), []); | TS_ASSERT_UNEVAL_EQUALS(cmpProductionQueue.GetEntitiesList(), []); | ||||
AddMock(SYSTEM_ENTITY, IID_PlayerManager, { | AddMock(SYSTEM_ENTITY, IID_PlayerManager, { | ||||
"GetPlayerByID": id => playerEntityID | "GetPlayerByID": id => playerEntityID | ||||
}); | }); | ||||
AddMock(SYSTEM_ENTITY, IID_DataTemplateManager, { | |||||
"TechnologyExists": name => name == "phase_town_athen" || name == "phase_city_athen" | |||||
}); | |||||
AddMock(playerEntityID, IID_Player, { | AddMock(playerEntityID, IID_Player, { | ||||
"GetCiv": () => "iber", | "GetCiv": () => "iber", | ||||
"GetDisabledTechnologies": () => ({}), | "GetDisabledTechnologies": () => ({}), | ||||
"GetDisabledTemplates": () => ({}), | "GetDisabledTemplates": () => ({}), | ||||
"GetPlayerID": () => playerId | "GetPlayerID": () => playerId | ||||
}); | }); | ||||
AddMock(playerEntityID, IID_TechnologyManager, { | AddMock(playerEntityID, IID_TechnologyManager, { | ||||
"CheckTechnologyRequirements": () => true, | "CheckTechnologyRequirements": () => true, | ||||
"GetTechnologyTemplate": tech => tech, | |||||
"IsInProgress": () => false, | "IsInProgress": () => false, | ||||
"IsTechnologyResearched": () => false | "IsTechnologyResearched": () => false | ||||
}); | }); | ||||
AddMock(productionQueueId, IID_Ownership, { | AddMock(productionQueueId, IID_Ownership, { | ||||
"GetOwner": () => playerId | "GetOwner": () => playerId | ||||
}); | }); | ||||
▲ Show 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | TS_ASSERT_UNEVAL_EQUALS( | ||||
["units/athen_cavalry_javelinist_b", "units/iber_support_female_citizen"] | ["units/athen_cavalry_javelinist_b", "units/iber_support_female_citizen"] | ||||
); | ); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpProductionQueue.GetTechnologiesList(), ["phase_town_athen", | TS_ASSERT_UNEVAL_EQUALS(cmpProductionQueue.GetTechnologiesList(), ["phase_town_athen", | ||||
"phase_city_athen"] | "phase_city_athen"] | ||||
); | ); | ||||
AddMock(playerEntityID, IID_TechnologyManager, { | AddMock(playerEntityID, IID_TechnologyManager, { | ||||
"CheckTechnologyRequirements": () => true, | "CheckTechnologyRequirements": () => true, | ||||
"GetTechnologyTemplate": tech => tech, | |||||
"IsInProgress": () => false, | "IsInProgress": () => false, | ||||
"IsTechnologyResearched": tech => tech == "phase_town_athen" | "IsTechnologyResearched": tech => tech == "phase_town_athen" | ||||
}); | }); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpProductionQueue.GetTechnologiesList(), [undefined, "phase_city_athen"]); | TS_ASSERT_UNEVAL_EQUALS(cmpProductionQueue.GetTechnologiesList(), [undefined, "phase_city_athen"]); | ||||
AddMock(playerEntityID, IID_Player, { | AddMock(playerEntityID, IID_Player, { | ||||
"GetCiv": () => "iber", | "GetCiv": () => "iber", | ||||
"GetDisabledTechnologies": () => ({}), | "GetDisabledTechnologies": () => ({}), | ||||
"GetPlayerID": () => playerId | "GetPlayerID": () => playerId | ||||
}); | }); | ||||
TS_ASSERT_UNEVAL_EQUALS( | TS_ASSERT_UNEVAL_EQUALS( | ||||
cmpProductionQueue.GetTechnologiesList(), | cmpProductionQueue.GetTechnologiesList(), | ||||
["gather_fishing_net", "phase_town_generic", "phase_city_generic"] | ["gather_fishing_net", "phase_town_generic", "phase_city_generic"] | ||||
); | ); |
Wildfire Games · Phabricator