Differential D4460 Diff 19545 binaries/data/mods/public/simulation/components/tests/test_Researcher.js
Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/tests/test_Researcher.js
Show All 18 Lines | |||||
}); | }); | ||||
AddMock(SYSTEM_ENTITY, IID_PlayerManager, { | AddMock(SYSTEM_ENTITY, IID_PlayerManager, { | ||||
"GetPlayerByID": id => playerEntityID | "GetPlayerByID": id => playerEntityID | ||||
}); | }); | ||||
AddMock(playerEntityID, IID_Player, { | AddMock(playerEntityID, IID_Player, { | ||||
"GetCiv": () => "iber", | "GetCiv": () => "iber", | ||||
"GetDisabledTechnologies": () => ({}) // ToDo: Should be in the techmanager. | |||||
}); | }); | ||||
AddMock(playerEntityID, IID_TechnologyManager, { | AddMock(playerEntityID, IID_TechnologyManager, { | ||||
"CheckTechnologyRequirements": () => true, | "CheckTechnologyRequirements": () => true, | ||||
"GetDisabledTechnologies": () => new Set(), | |||||
"IsInProgress": () => false, | "IsInProgress": () => false, | ||||
"IsTechnologyResearched": () => false | "IsTechnologyResearched": () => false | ||||
}); | }); | ||||
AddMock(entityID, IID_Ownership, { | AddMock(entityID, IID_Ownership, { | ||||
"GetOwner": () => playerID | "GetOwner": () => playerID | ||||
}); | }); | ||||
Show All 9 Lines | |||||
TS_ASSERT_UNEVAL_EQUALS( | TS_ASSERT_UNEVAL_EQUALS( | ||||
cmpResearcher.GetTechnologiesList(), | cmpResearcher.GetTechnologiesList(), | ||||
["gather_fishing_net", "phase_town_generic", "phase_city_generic"] | ["gather_fishing_net", "phase_town_generic", "phase_city_generic"] | ||||
); | ); | ||||
AddMock(playerEntityID, IID_Player, { | AddMock(playerEntityID, IID_Player, { | ||||
"GetCiv": () => "athen", | "GetCiv": () => "athen", | ||||
"GetDisabledTechnologies": () => ({ "gather_fishing_net": true }) | }); | ||||
AddMock(playerEntityID, IID_TechnologyManager, { | |||||
"CheckTechnologyRequirements": () => true, | |||||
"GetDisabledTechnologies": () => new Set(["gather_fishing_net"]), | |||||
"IsInProgress": () => false, | |||||
"IsTechnologyResearched": () => false | |||||
}); | }); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpResearcher.GetTechnologiesList(), ["phase_town_athen", "phase_city_athen"]); | TS_ASSERT_UNEVAL_EQUALS(cmpResearcher.GetTechnologiesList(), ["phase_town_athen", "phase_city_athen"]); | ||||
AddMock(playerEntityID, IID_TechnologyManager, { | AddMock(playerEntityID, IID_TechnologyManager, { | ||||
"CheckTechnologyRequirements": () => true, | "CheckTechnologyRequirements": () => true, | ||||
"GetDisabledTechnologies": () => new Set(["gather_fishing_net"]), | |||||
"IsInProgress": () => false, | "IsInProgress": () => false, | ||||
"IsTechnologyResearched": tech => tech == "phase_town_athen" | "IsTechnologyResearched": tech => tech == "phase_town_athen" | ||||
}); | }); | ||||
TS_ASSERT_UNEVAL_EQUALS(cmpResearcher.GetTechnologiesList(), [undefined, "phase_city_athen"]); | TS_ASSERT_UNEVAL_EQUALS(cmpResearcher.GetTechnologiesList(), [undefined, "phase_city_athen"]); | ||||
AddMock(playerEntityID, IID_Player, { | AddMock(playerEntityID, IID_Player, { | ||||
"GetCiv": () => "iber", | "GetCiv": () => "iber", | ||||
"GetDisabledTechnologies": () => ({}) | }); | ||||
AddMock(playerEntityID, IID_TechnologyManager, { | |||||
"CheckTechnologyRequirements": () => true, | |||||
"GetDisabledTechnologies": () => new Set(), | |||||
"IsInProgress": () => false, | |||||
"IsTechnologyResearched": tech => tech == "phase_town_athen" | |||||
}); | }); | ||||
TS_ASSERT_UNEVAL_EQUALS( | TS_ASSERT_UNEVAL_EQUALS( | ||||
cmpResearcher.GetTechnologiesList(), | cmpResearcher.GetTechnologiesList(), | ||||
["gather_fishing_net", "phase_town_generic", "phase_city_generic"] | ["gather_fishing_net", "phase_town_generic", "phase_city_generic"] | ||||
); | ); | ||||
Engine.RegisterGlobal("ApplyValueModificationsToEntity", (_, value) => typeof value === "string" ? value + " some_test": value); | Engine.RegisterGlobal("ApplyValueModificationsToEntity", (_, value) => typeof value === "string" ? value + " some_test": value); | ||||
TS_ASSERT_UNEVAL_EQUALS( | TS_ASSERT_UNEVAL_EQUALS( | ||||
Show All 12 Lines | Engine.RegisterGlobal("TechnologyTemplates", { | ||||
"Get": () => ({ | "Get": () => ({ | ||||
"cost": cost, | "cost": cost, | ||||
"researchTime": 1 | "researchTime": 1 | ||||
}) | }) | ||||
}); | }); | ||||
const cmpPlayer = AddMock(playerEntityID, IID_Player, { | const cmpPlayer = AddMock(playerEntityID, IID_Player, { | ||||
"GetCiv": () => "iber", | "GetCiv": () => "iber", | ||||
"GetDisabledTechnologies": () => ({}), | |||||
"GetPlayerID": () => playerID, | "GetPlayerID": () => playerID, | ||||
}); | }); | ||||
const techManager = AddMock(playerEntityID, IID_TechnologyManager, { | const techManager = AddMock(playerEntityID, IID_TechnologyManager, { | ||||
"CheckTechnologyRequirements": () => true, | "CheckTechnologyRequirements": () => true, | ||||
"GetDisabledTechnologies": () => new Set(), | |||||
"IsInProgress": () => false, | "IsInProgress": () => false, | ||||
"IsTechnologyResearched": () => false, | "IsTechnologyResearched": () => false, | ||||
"QueuedResearch": (templateName, researcher, techCostMultiplier) => { | "QueuedResearch": (templateName, researcher, techCostMultiplier) => { | ||||
TS_ASSERT_UNEVAL_EQUALS(templateName, queuedTech); | TS_ASSERT_UNEVAL_EQUALS(templateName, queuedTech); | ||||
TS_ASSERT_UNEVAL_EQUALS(researcher, entityID); | TS_ASSERT_UNEVAL_EQUALS(researcher, entityID); | ||||
return true; | return true; | ||||
}, | }, | ||||
"StoppedResearch": (templateName, _) => { | "StoppedResearch": (templateName, _) => { | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator