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])); + } + } + } +}