diff --git a/pom.xml b/pom.xml
index 5b27cb6fe..6c8eb8263 100644
--- a/pom.xml
+++ b/pom.xml
@@ -128,6 +128,12 @@
jar
compile
+
+ junit
+ junit-dep
+ 4.10
+ test
+
UTF-8
diff --git a/src/main/java/com/gmail/nossr50/util/blockmeta/PrimitiveExChunkletStore.java b/src/main/java/com/gmail/nossr50/util/blockmeta/PrimitiveExChunkletStore.java
index afe9a2274..3feba7cae 100644
--- a/src/main/java/com/gmail/nossr50/util/blockmeta/PrimitiveExChunkletStore.java
+++ b/src/main/java/com/gmail/nossr50/util/blockmeta/PrimitiveExChunkletStore.java
@@ -164,15 +164,15 @@ public class PrimitiveExChunkletStore implements ChunkletStore, Externalizable {
* - z = 1111 = 15
* => Chunklet coordinates (5, 15)
*/
- private static byte makeAddressByte(int x, int z) {
+ protected static byte makeAddressByte(int x, int z) {
return (byte) ((x << 4) + z);
}
- private static int addressByteX(byte address) {
+ protected static int addressByteX(byte address) {
return (address & 0xF0) >>> 4;
}
- private static int addressByteZ(byte address) {
+ protected static int addressByteZ(byte address) {
return address & 0x0F;
}
}
diff --git a/src/test/java/com/gmail/nossr50/util/blockmeta/PrimitiveExChunkletStoreTest.java b/src/test/java/com/gmail/nossr50/util/blockmeta/PrimitiveExChunkletStoreTest.java
new file mode 100644
index 000000000..d0599bfa1
--- /dev/null
+++ b/src/test/java/com/gmail/nossr50/util/blockmeta/PrimitiveExChunkletStoreTest.java
@@ -0,0 +1,35 @@
+package com.gmail.nossr50.util.blockmeta;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class PrimitiveExChunkletStoreTest {
+ byte addresses[][] = new byte[16][16];
+
+ @Before
+ public void populateAddresses() {
+ for(int x = 0; x < 16; x++) {
+ for(int z = 0; z < 16; z++) {
+ addresses[x][z] = PrimitiveExChunkletStore.makeAddressByte(x, z);
+ }
+ }
+ }
+
+ @Test
+ public void addressMakeTest() {
+ assertEquals(addresses[0][0], 0);
+ assertEquals(addresses[15][15], -1);
+ }
+
+ @Test
+ public void addressReverseTest() {
+ for(int x = 0; x < 16; x++) {
+ for(int z = 0; z < 16; z++) {
+ assertEquals(x, PrimitiveExChunkletStore.addressByteX(addresses[x][z]));
+ assertEquals(z, PrimitiveExChunkletStore.addressByteZ(addresses[x][z]));
+ }
+ }
+ }
+}