summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/bukkit/entity
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/bukkit/entity')
-rw-r--r--src/test/java/org/bukkit/entity/EntityTypesTest.java29
-rw-r--r--src/test/java/org/bukkit/entity/TropicalFishTest.java45
2 files changed, 74 insertions, 0 deletions
diff --git a/src/test/java/org/bukkit/entity/EntityTypesTest.java b/src/test/java/org/bukkit/entity/EntityTypesTest.java
new file mode 100644
index 00000000..d8c3b013
--- /dev/null
+++ b/src/test/java/org/bukkit/entity/EntityTypesTest.java
@@ -0,0 +1,29 @@
+package org.bukkit.entity;
+
+import java.util.Arrays;
+import java.util.Set;
+import java.util.stream.Collectors;
+import net.minecraft.server.EntityTypes;
+import net.minecraft.server.MinecraftKey;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class EntityTypesTest {
+
+ @Test
+ public void testMaps() {
+ Set<EntityType> allBukkit = Arrays.stream(EntityType.values()).filter((b) -> b.getName() != null).collect(Collectors.toSet());
+
+ for (Object o : EntityTypes.REGISTRY) {
+ EntityTypes<?> nms = (EntityTypes<?>) o; // Eclipse fail
+ MinecraftKey key = EntityTypes.getName(nms);
+
+ EntityType bukkit = EntityType.fromName(key.getKey());
+ Assert.assertNotNull("Missing nms->bukkit " + key, bukkit);
+
+ Assert.assertTrue("Duplicate entity nms->" + bukkit, allBukkit.remove(bukkit));
+ }
+
+ Assert.assertTrue("Unmapped bukkit entities " + allBukkit, allBukkit.isEmpty());
+ }
+}
diff --git a/src/test/java/org/bukkit/entity/TropicalFishTest.java b/src/test/java/org/bukkit/entity/TropicalFishTest.java
new file mode 100644
index 00000000..63ddb467
--- /dev/null
+++ b/src/test/java/org/bukkit/entity/TropicalFishTest.java
@@ -0,0 +1,45 @@
+package org.bukkit.entity;
+
+import static org.junit.Assert.*;
+import static org.hamcrest.Matchers.*;
+import org.bukkit.DyeColor;
+import org.bukkit.craftbukkit.entity.CraftTropicalFish;
+import org.bukkit.entity.TropicalFish.Pattern;
+
+import org.junit.Test;
+
+public class TropicalFishTest {
+
+ @Test
+ public void testVariants() {
+ testVariant(65536, DyeColor.ORANGE, DyeColor.WHITE, Pattern.KOB);
+ testVariant(917504, DyeColor.RED, DyeColor.WHITE, Pattern.KOB);
+ testVariant(918273, DyeColor.RED, DyeColor.WHITE, Pattern.BLOCKFISH);
+ testVariant(918529, DyeColor.RED, DyeColor.WHITE, Pattern.BETTY);
+ testVariant(16778497, DyeColor.WHITE, DyeColor.ORANGE, Pattern.CLAYFISH);
+ testVariant(50660352, DyeColor.LIME, DyeColor.LIGHT_BLUE, Pattern.BRINELY);
+ testVariant(50726144, DyeColor.PINK, DyeColor.LIGHT_BLUE, Pattern.SPOTTY);
+ testVariant(50790656, DyeColor.GRAY, DyeColor.LIGHT_BLUE, Pattern.SUNSTREAK);
+ testVariant(67108865, DyeColor.WHITE, DyeColor.YELLOW, Pattern.FLOPPER);
+ testVariant(67110144, DyeColor.WHITE, DyeColor.YELLOW, Pattern.SPOTTY);
+ testVariant(67371265, DyeColor.YELLOW, DyeColor.YELLOW, Pattern.STRIPEY);
+ testVariant(67764993, DyeColor.PURPLE, DyeColor.YELLOW, Pattern.BLOCKFISH);
+ testVariant(101253888, DyeColor.CYAN, DyeColor.PINK, Pattern.DASHER);
+ testVariant(117441025, DyeColor.WHITE, DyeColor.GRAY, Pattern.GLITTER);
+ testVariant(117441280, DyeColor.WHITE, DyeColor.GRAY, Pattern.DASHER);
+ testVariant(117441536, DyeColor.WHITE, DyeColor.GRAY, Pattern.BRINELY);
+ testVariant(117506305, DyeColor.ORANGE, DyeColor.GRAY, Pattern.STRIPEY);
+ testVariant(117899265, DyeColor.GRAY, DyeColor.GRAY, Pattern.FLOPPER);
+ testVariant(118161664, DyeColor.BLUE, DyeColor.GRAY, Pattern.SUNSTREAK);
+ testVariant(134217984, DyeColor.WHITE, DyeColor.SILVER, Pattern.SUNSTREAK);
+ testVariant(234882305, DyeColor.WHITE, DyeColor.RED, Pattern.CLAYFISH);
+ testVariant(235340288, DyeColor.GRAY, DyeColor.RED, Pattern.SNOOPER);
+ }
+
+ private void testVariant(int variant, DyeColor bodyColor, DyeColor patternColor, Pattern pattern) {
+ assertThat("variant write", CraftTropicalFish.getData(patternColor, bodyColor, pattern), is(variant));
+ assertThat("pattern colour read", CraftTropicalFish.getPatternColor(variant), is(patternColor));
+ assertThat("body colour read", CraftTropicalFish.getBodyColor(variant), is(bodyColor));
+ assertThat("pattern read", CraftTropicalFish.getPattern(variant), is(pattern));
+ }
+}