Consume stockpiled resources when purchasing constructions that require them

This commit is contained in:
yairm210
2024-08-29 10:22:21 +03:00
parent 2f36248484
commit 3c42d44ec4
2 changed files with 25 additions and 0 deletions

View File

@ -304,4 +304,18 @@ class ResourceTests {
game.gameInfo.nextTurn()
assert(civInfo.getCivResourcesByName()[resource.name] == 1) // 1 was consumed because production started
}
@Test
fun stockpiledResourcesConsumedWhenConstructionPurchased() {
// given
val resource = game.createResource(UniqueType.Stockpiled.text)
val building = game.createBuilding("Instantly provides [2] [${resource.name}]")
city.cityConstructions.addBuilding(building)
assert(civInfo.getCivResourcesByName()[resource.name] == 2)
val consumingBuilding = game.createBuilding("Costs [1] [${resource.name}]")
assert(civInfo.getCivResourcesByName()[resource.name] == 2) // no change yet
city.cityConstructions.purchaseConstruction(consumingBuilding.name, -1, false)
assert(civInfo.getCivResourcesByName()[resource.name] == 1) // 1 was consumed because production started
}
}