summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/bukkit/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/bukkit/map')
-rw-r--r--src/test/java/org/bukkit/map/MapTest.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/test/java/org/bukkit/map/MapTest.java b/src/test/java/org/bukkit/map/MapTest.java
new file mode 100644
index 00000000..4cb2cf94
--- /dev/null
+++ b/src/test/java/org/bukkit/map/MapTest.java
@@ -0,0 +1,62 @@
+
+package org.bukkit.map;
+
+import java.awt.Color;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import net.minecraft.server.MaterialMapColor;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class MapTest {
+
+ private static final Logger logger = Logger.getLogger("MapTest");
+
+ private static final int[] modifiers = {180, 220, 255, 135};
+
+ @Test
+ public void testColors() {
+ MaterialMapColor[] nmsColors = MaterialMapColor.a;
+ Color[] bukkitColors = MapPalette.colors;
+
+ boolean fail = false;
+ for (int i = 0; i < nmsColors.length; i++) {
+ if (nmsColors[i] == null) {
+ break;
+ }
+ int rgb = nmsColors[i].L;
+
+ int r = (rgb >> 16) & 0xFF;
+ int g = (rgb >> 8) & 0xFF;
+ int b = rgb & 0xFF;
+
+ if (i > bukkitColors.length/4) {
+ for (int modi : modifiers) {
+ int mr = (r * modi) / 255;
+ int mg = (g * modi) / 255;
+ int mb = (b * modi) / 255;
+ logger.log(Level.WARNING, "Missing color: c({0}, {1}, {2})", new Object[]{mr, mg, mb});
+ }
+ fail = true;
+ } else {
+ for (int j = 0; j < modifiers.length; j++) {
+ int modi = modifiers[j];
+ Color bukkit = bukkitColors[i * 4 + j];
+ int mr = (r * modi) / 255;
+ int mg = (g * modi) / 255;
+ int mb = (b * modi) / 255;
+
+ if (bukkit.getRed() != mr || bukkit.getGreen() != mg || bukkit.getBlue() != mb) {
+ logger.log(Level.WARNING, "Incorrect color: {6} {7} c({0}, {1}, {2}) != c({3}, {4}, {5})", new Object[]{
+ bukkit.getRed(), bukkit.getGreen(), bukkit.getBlue(),
+ mr, mg, mb,
+ i, j
+ });
+ fail = true;
+ }
+ }
+ }
+ }
+ Assert.assertFalse(fail);
+ }
+}