diff --git a/tests/src/com/unciv/testing/TestGame.kt b/tests/src/com/unciv/testing/TestGame.kt index ee5eed0195339..44dd51c9fd97c 100644 --- a/tests/src/com/unciv/testing/TestGame.kt +++ b/tests/src/com/unciv/testing/TestGame.kt @@ -98,6 +98,7 @@ class TestGame { } fun getTile(position: Vector2) = tileMap[position] + fun getTile(x: Int, y: Int) = tileMap[x, y] /** Sets the [terrain] and [features] of the tile at [position], and then returns it */ fun setTileTerrainAndFeatures(position: Vector2, terrain: String, vararg features: String): Tile { diff --git a/tests/src/com/unciv/uniques/ResourceTests.kt b/tests/src/com/unciv/uniques/ResourceTests.kt index 98fe5cd155c26..db6dd661808b9 100644 --- a/tests/src/com/unciv/uniques/ResourceTests.kt +++ b/tests/src/com/unciv/uniques/ResourceTests.kt @@ -75,7 +75,7 @@ class ResourceTests { val tile = game.tileMap[1,1] tile.resource = "Coal" tile.resourceAmount = 1 - tile.changeImprovement("Mine") + tile.setImprovement("Mine") civInfo.tech.addTechnology(game.ruleset.tileImprovements["Mine"]!!.techRequired!!) assertEquals(civInfo.getCivResourcesByName()["Coal"], 0) @@ -91,7 +91,7 @@ class ResourceTests { val tile = game.tileMap[1,1] tile.resource = "Coal" tile.resourceAmount = 1 - tile.changeImprovement("Mine") + tile.setImprovement("Mine") civInfo.tech.addTechnology(game.ruleset.tileImprovements["Mine"]!!.techRequired!!) civInfo.tech.addTechnology(game.ruleset.tileResources["Coal"]!!.revealedBy!!) @@ -106,7 +106,7 @@ class ResourceTests { fun testImprovementProvidesResourceEvenWithoutTech() { val tile = game.tileMap[1,1] val improvement = game.createTileImprovement("Provides [1] [Coal]", "Consumes [1] [Silver]") - tile.changeImprovement(improvement.name, civInfo) + tile.setImprovement(improvement.name, civInfo) Assert.assertTrue(civInfo.getCivResourcesByName()["Coal"] == 1) Assert.assertTrue(civInfo.getCivResourcesByName()["Silver"] == -1) } @@ -116,7 +116,7 @@ class ResourceTests { fun testImprovementProvidesResourceWithUniqueBonuses() { val tile = game.tileMap[1,1] val improvement = game.createTileImprovement("Provides [1] [Coal]") - tile.changeImprovement(improvement.name, civInfo) + tile.setImprovement(improvement.name, civInfo) Assert.assertTrue(civInfo.getCivResourcesByName()["Coal"] == 1) val doubleCoal = game.createBuilding("Double quantity of [Coal] produced") @@ -255,7 +255,6 @@ class ResourceTests { } - @Test fun CityResourcesWorkWithConditional() { // given @@ -270,4 +269,19 @@ class ResourceTests { // then assertEquals(1f, faith) } + + @Test + fun CityResourcesFromImprovementWithConditional() { + // given + val resource = game.createResource(UniqueType.CityResource.text) + val resourceImprovement = game.createTileImprovement("Provides [2] [${resource.name}] ") + game.getTile(1,1).addTerrainFeature("Oasis") + + // when + game.getTile(1,1).setImprovement(resourceImprovement.name) + + // then + val resourceAmountInCapital = city.getAvailableResourceAmount(resource.name) + assert(resourceAmountInCapital == 0) + } }