diff options
Diffstat (limited to 'src/test/java/de')
| -rw-r--r-- | src/test/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdderTest.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdderTest.java b/src/test/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdderTest.java new file mode 100644 index 00000000..90d6191f --- /dev/null +++ b/src/test/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdderTest.java @@ -0,0 +1,28 @@ +package de.hysky.skyblocker.skyblock.item.slottext.adders; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Multimaps; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.Map; + +public class EnchantmentLevelAdderTest { + @Test + void testEnchantmentAbbreviations() { + checkForDuplicates(EnchantmentLevelAdder.ENCHANTMENT_ABBREVIATIONS); + } + + @Test + void testUltimateEnchantmentAbbreviations() { + checkForDuplicates(EnchantmentLevelAdder.ULTIMATE_ENCHANTMENT_ABBREVIATIONS); + } + + private void checkForDuplicates(Map<String, String> abbreviations) { + if (abbreviations.size() == abbreviations.values().stream().distinct().count()) return; + abbreviations.entrySet().stream().collect(Multimaps.toMultimap(Map.Entry::getValue, Map.Entry::getKey, ArrayListMultimap::create)) + .asMap().entrySet().stream().filter(e -> e.getValue().size() > 1) + .map(e -> "Duplicate abbreviations: %s for %s".formatted(e.getKey(), e.getValue())) + .forEach(Assertions::fail); + } +} |
