Differential D4733 Diff 20611 binaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js
Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js
Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Lines | |||||
/** | /** | ||||
* Initialise various bits. | * Initialise various bits. | ||||
*/ | */ | ||||
// System Entities: | // System Entities: | ||||
AddMock(SYSTEM_ENTITY, IID_PlayerManager, { | AddMock(SYSTEM_ENTITY, IID_PlayerManager, { | ||||
"GetPlayerByID": pID => 10 // Called in helpers/player.js::QueryPlayerIDInterface(), as part of Tests T2 and T5. | "GetPlayerByID": pID => 10 // Called in helpers/player.js::QueryPlayerIDInterface(), as part of Tests T2 and T5. | ||||
}); | }); | ||||
AddMock(SYSTEM_ENTITY, IID_TemplateManager, { | AddMock(SYSTEM_ENTITY, IID_TemplateManager, { | ||||
"GetTemplate": () => template // Called in components/Upgrade.js::ChangeUpgradedEntityCount(). | "GetTemplate": () => template, // Called in components/Upgrade.js::ChangeUpgradedEntityCount(). | ||||
"TemplateExists": (templ) => true | |||||
}); | }); | ||||
AddMock(SYSTEM_ENTITY, IID_Timer, { | AddMock(SYSTEM_ENTITY, IID_Timer, { | ||||
"SetInterval": () => 1, // Called in components/Upgrade.js::Upgrade(). | "SetInterval": () => 1, // Called in components/Upgrade.js::Upgrade(). | ||||
"CancelTimer": () => {} // Called in components/Upgrade.js::CancelUpgrade(). | "CancelTimer": () => {} // Called in components/Upgrade.js::CancelUpgrade(). | ||||
}); | }); | ||||
AddMock(SYSTEM_ENTITY, IID_ModifiersManager, { | AddMock(SYSTEM_ENTITY, IID_ModifiersManager, { | ||||
"ApplyTemplateModifiers": (valueName, curValue, template, player) => { | "ApplyTemplateModifiers": (valueName, curValue, template, player) => { | ||||
Show All 14 Lines | |||||
}); | }); | ||||
// Init Player: | // Init Player: | ||||
AddMock(10, IID_Player, { | AddMock(10, IID_Player, { | ||||
"AddResources": () => {}, // Called in components/Upgrade.js::CancelUpgrade(). | "AddResources": () => {}, // Called in components/Upgrade.js::CancelUpgrade(). | ||||
"GetPlayerID": () => playerID, // Called in helpers/Player.js::QueryOwnerInterface() (and several times below). | "GetPlayerID": () => playerID, // Called in helpers/Player.js::QueryOwnerInterface() (and several times below). | ||||
"TrySubtractResources": () => true // Called in components/Upgrade.js::Upgrade(). | "TrySubtractResources": () => true // Called in components/Upgrade.js::Upgrade(). | ||||
}); | }); | ||||
AddMock(10, IID_Identity, { | |||||
"GetCiv": () => civCode | |||||
}); | |||||
// Create an entity with an Upgrade component: | // Create an entity with an Upgrade component: | ||||
AddMock(20, IID_Ownership, { | AddMock(20, IID_Ownership, { | ||||
"GetOwner": () => playerID // Called in helpers/Player.js::QueryOwnerInterface(). | "GetOwner": () => playerID // Called in helpers/Player.js::QueryOwnerInterface(). | ||||
}); | }); | ||||
AddMock(20, IID_Identity, { | AddMock(20, IID_Identity, { | ||||
"GetCiv": () => civCode // Called in components/Upgrade.js::init(). | "GetCiv": () => civCode // Called in components/Upgrade.js::init(). | ||||
}); | }); | ||||
AddMock(20, IID_ProductionQueue, { | AddMock(20, IID_ProductionQueue, { | ||||
"HasQueuedProduction": () => false | "HasQueuedProduction": () => false | ||||
}); | }); | ||||
let cmpUpgrade = ConstructComponent(20, "Upgrade", template.Upgrade); | let cmpUpgrade = ConstructComponent(20, "Upgrade", template.Upgrade); | ||||
cmpUpgrade.owner = playerID; | cmpUpgrade.owner = playerID; | ||||
cmpUpgrade.OnOwnershipChanged({ "to": playerID }); | |||||
/** | /** | ||||
* Now to start the test proper | * Now to start the test proper | ||||
* To start with, no techs are researched... | * To start with, no techs are researched... | ||||
*/ | */ | ||||
// T1: Check the cost of the upgrade without a player value being passed (as it would be in the structree). | // T1: Check the cost of the upgrade without a player value being passed (as it would be in the structree). | ||||
let parsed_template = GetTemplateDataHelper(template, null, {}); | let parsed_template = GetTemplateDataHelper(template, null, {}); | ||||
TS_ASSERT_UNEVAL_EQUALS(parsed_template.upgrades[0].cost, { "stone": 100, "wood": 50, "time": 100 }); | TS_ASSERT_UNEVAL_EQUALS(parsed_template.upgrades[0].cost, { "stone": 100, "wood": 50, "time": 100 }); | ||||
Show All 29 Lines |
Wildfire Games · Phabricator