diff --git a/core/src/com/unciv/models/ruleset/unique/Countables.kt b/core/src/com/unciv/models/ruleset/unique/Countables.kt index e6046bb2d0..563b308e8f 100644 --- a/core/src/com/unciv/models/ruleset/unique/Countables.kt +++ b/core/src/com/unciv/models/ruleset/unique/Countables.kt @@ -38,6 +38,7 @@ enum class Countables( override val documentationHeader = "Integer constant - any positive or negative integer number" override fun matches(parameterText: String) = parameterText.toIntOrNull() != null override fun eval(parameterText: String, stateForConditionals: StateForConditionals) = parameterText.toIntOrNull() + override fun getKnownValuesForAutocomplete(ruleset: Ruleset): Set = setOf() override val example: String = "123" }, @@ -130,6 +131,7 @@ enum class Countables( UniqueParameterType.PolicyFilter.getTranslatedErrorSeverity(parameterText, ruleset) override fun getKnownValuesForAutocomplete(ruleset: Ruleset): Set = UniqueParameterType.PolicyFilter.getKnownValuesForAutocomplete(ruleset) + .map { text.fillPlaceholders(it) }.toSet() }, RemainingCivs("Remaining [civFilter] Civilizations") { diff --git a/tests/src/com/unciv/uniques/CountableTests.kt b/tests/src/com/unciv/uniques/CountableTests.kt index 16b95ed78a..226ddf348e 100644 --- a/tests/src/com/unciv/uniques/CountableTests.kt +++ b/tests/src/com/unciv/uniques/CountableTests.kt @@ -3,6 +3,7 @@ package com.unciv.uniques import com.unciv.logic.city.City import com.unciv.logic.civilization.Civilization import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.RulesetCache import com.unciv.models.ruleset.unique.Countables import com.unciv.models.ruleset.unique.StateForConditionals import com.unciv.models.ruleset.unique.Unique @@ -74,6 +75,24 @@ class CountableTests { } } } + + + @Test + fun testAllCountableAutocompleteValuesMatch() { + RulesetCache.loadRulesets(noMods = true) + val ruleset = RulesetCache.getVanillaRuleset() + for (countable in Countables.entries) { + val knownValues = countable.getKnownValuesForAutocomplete(ruleset) + for (value in knownValues) { + val matchedCountable = Countables.getMatching(value, ruleset) + assertEquals( + "Countable ${countable.name} should match its own autocomplete value: $value", + countable, matchedCountable + ) + } + + } + } @Test fun testPlaceholderParams(){