Add a unit test for map colors
Dieser Commit ist enthalten in:
Ursprung
624c97f081
Commit
4e47c1c393
62
src/test/java/org/bukkit/map/MapTest.java
Normale Datei
62
src/test/java/org/bukkit/map/MapTest.java
Normale Datei
@ -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);
|
||||
}
|
||||
}
|
In neuem Issue referenzieren
Einen Benutzer sperren