summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftArt.java14
-rw-r--r--src/test/java/org/bukkit/ArtTest.java23
2 files changed, 30 insertions, 7 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftArt.java b/src/main/java/org/bukkit/craftbukkit/CraftArt.java
index 44b88b32..f617e9e2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftArt.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftArt.java
@@ -5,6 +5,7 @@ import org.bukkit.Art;
// Safety class, will break if either side changes
public class CraftArt {
+
public static Art NotchToBukkit(EnumArt art) {
switch (art) {
case KEBAB: return Art.KEBAB;
@@ -32,8 +33,10 @@ public class CraftArt {
case BURNINGSKULL: return Art.BURNINGSKULL;
case SKELETON: return Art.SKELETON;
case DONKEYKONG: return Art.DONKEYKONG;
+ case WITHER: return Art.WITHER;
+ default:
+ throw new AssertionError(art);
}
- return null;
}
public static EnumArt BukkitToNotch(Art art) {
@@ -63,12 +66,9 @@ public class CraftArt {
case BURNINGSKULL: return EnumArt.BURNINGSKULL;
case SKELETON: return EnumArt.SKELETON;
case DONKEYKONG: return EnumArt.DONKEYKONG;
+ case WITHER: return EnumArt.WITHER;
+ default:
+ throw new AssertionError(art);
}
- return null;
- }
-
- static {
- assert (EnumArt.values().length == 25);
- assert (Art.values().length == 25);
}
}
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));
+ }
+ }
}