diff options
author | Wesley Wolfe <weswolf@aol.com> | 2012-11-01 03:06:47 -0500 |
---|---|---|
committer | Wesley Wolfe <weswolf@aol.com> | 2012-11-01 03:06:47 -0500 |
commit | 1c14586c49f6314a907ae11805f4b8579e095dcc (patch) | |
tree | 53517837729e157f7d782a66ffc6be1e7c67585d /src/test/java/org/bukkit/ArtTest.java | |
parent | 9a88e615d449e7a3fe3bf20b90acd2f35e02c6c1 (diff) | |
download | craftbukkit-1c14586c49f6314a907ae11805f4b8579e095dcc.tar craftbukkit-1c14586c49f6314a907ae11805f4b8579e095dcc.tar.gz craftbukkit-1c14586c49f6314a907ae11805f4b8579e095dcc.tar.lz craftbukkit-1c14586c49f6314a907ae11805f4b8579e095dcc.tar.xz craftbukkit-1c14586c49f6314a907ae11805f4b8579e095dcc.zip |
Add CraftArt mappings for Wither. Fixes BUKKIT-2667.
The static assertions are not normally evaluated in the JVM, and failed
to fail when the enums went from size 25 to size 26. This meant missing
values would not be detected at runtime and instead return null,
compounding problems later. The switches should never evaluate to null
so will instead throw runtime assertion errors.
Additional unit tests were added to detect new paintings and assure they
have proper, unique mappings. The test checks both that a mapping
exists, is not null, and does not duplicate another mapping.
Diffstat (limited to 'src/test/java/org/bukkit/ArtTest.java')
-rw-r--r-- | src/test/java/org/bukkit/ArtTest.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/java/org/bukkit/ArtTest.java b/src/test/java/org/bukkit/ArtTest.java index 6a9774f1..cca4ddf2 100644 --- a/src/test/java/org/bukkit/ArtTest.java +++ b/src/test/java/org/bukkit/ArtTest.java @@ -5,10 +5,13 @@ import static org.hamcrest.Matchers.hasSize; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; +import java.util.EnumMap; import java.util.List; +import java.util.Map; import net.minecraft.server.EnumArt; +import org.bukkit.craftbukkit.CraftArt; import org.junit.Test; import com.google.common.collect.Lists; @@ -40,4 +43,24 @@ public class ArtTest { assertThat("org.bukkit.Art has too many arts", arts, hasSize(0)); } + + @Test + public void testCraftArtToNotch() { + Map<EnumArt, Art> cache = new EnumMap(EnumArt.class); + for (Art art : Art.values()) { + EnumArt enumArt = CraftArt.BukkitToNotch(art); + assertNotNull(art.name(), enumArt); + assertThat(art.name(), cache.put(enumArt, art), is((Art) null)); + } + } + + @Test + public void testCraftArtToBukkit() { + Map<Art, EnumArt> cache = new EnumMap(Art.class); + for (EnumArt enumArt : EnumArt.values()) { + Art art = CraftArt.NotchToBukkit(enumArt); + assertNotNull(enumArt.name(), art); + assertThat(enumArt.name(), cache.put(art, enumArt), is((EnumArt) null)); + } + } } |