package hunternif.mc.atlas; import hunternif.mc.atlas.client.SubTile; import hunternif.mc.atlas.client.SubTile.Part; import hunternif.mc.atlas.client.SubTile.Shape; import static org.junit.Assert.*; import org.junit.Test; /** * Test that texture UV coordinates are returned correctly pased on subtile's * shape and part. * @author Hunternif */ public class TestSubTileUV { private final SubTile s = new SubTile(null); @Test public void testSingleObject() { s.shape = Shape.SINGLE_OBJECT; s.part = Part.TOP_LEFT; assertEquals(0, s.getTextureU()); assertEquals(0, s.getTextureV()); s.part = Part.TOP_RIGHT; assertEquals(1, s.getTextureU()); assertEquals(0, s.getTextureV()); s.part = Part.BOTTOM_LEFT; assertEquals(0, s.getTextureU()); assertEquals(1, s.getTextureV()); s.part = Part.BOTTOM_RIGHT; assertEquals(1, s.getTextureU()); assertEquals(1, s.getTextureV()); } @Test public void testConcave() { s.shape = Shape.CONCAVE; s.part = Part.TOP_LEFT; assertEquals(2, s.getTextureU()); assertEquals(0, s.getTextureV()); s.part = Part.TOP_RIGHT; assertEquals(3, s.getTextureU()); assertEquals(0, s.getTextureV()); s.part = Part.BOTTOM_LEFT; assertEquals(2, s.getTextureU()); assertEquals(1, s.getTextureV()); s.part = Part.BOTTOM_RIGHT; assertEquals(3, s.getTextureU()); assertEquals(1, s.getTextureV()); } @Test public void testConvex() { s.shape = Shape.CONVEX; s.part = Part.TOP_LEFT; assertEquals(0, s.getTextureU()); assertEquals(2, s.getTextureV()); s.part = Part.TOP_RIGHT; assertEquals(3, s.getTextureU()); assertEquals(2, s.getTextureV()); s.part = Part.BOTTOM_LEFT; assertEquals(0, s.getTextureU()); assertEquals(5, s.getTextureV()); s.part = Part.BOTTOM_RIGHT; assertEquals(3, s.getTextureU()); assertEquals(5, s.getTextureV()); } @Test public void testHorizontal() { s.shape = Shape.HORIZONTAL; s.part = Part.TOP_LEFT; assertEquals(2, s.getTextureU()); assertEquals(2, s.getTextureV()); s.part = Part.TOP_RIGHT; assertEquals(1, s.getTextureU()); assertEquals(2, s.getTextureV()); s.part = Part.BOTTOM_LEFT; assertEquals(2, s.getTextureU()); assertEquals(5, s.getTextureV()); s.part = Part.BOTTOM_RIGHT; assertEquals(1, s.getTextureU()); assertEquals(5, s.getTextureV()); } @Test public void testVertical() { s.shape = Shape.VERTICAL; s.part = Part.TOP_LEFT; assertEquals(0, s.getTextureU()); assertEquals(4, s.getTextureV()); s.part = Part.TOP_RIGHT; assertEquals(3, s.getTextureU()); assertEquals(4, s.getTextureV()); s.part = Part.BOTTOM_LEFT; assertEquals(0, s.getTextureU()); assertEquals(3, s.getTextureV()); s.part = Part.BOTTOM_RIGHT; assertEquals(3, s.getTextureU()); assertEquals(3, s.getTextureV()); } @Test public void testFull() { s.shape = Shape.FULL; s.part = Part.TOP_LEFT; assertEquals(2, s.getTextureU()); assertEquals(4, s.getTextureV()); s.part = Part.TOP_RIGHT; assertEquals(1, s.getTextureU()); assertEquals(4, s.getTextureV()); s.part = Part.BOTTOM_LEFT; assertEquals(2, s.getTextureU()); assertEquals(3, s.getTextureV()); s.part = Part.BOTTOM_RIGHT; assertEquals(1, s.getTextureU()); assertEquals(3, s.getTextureV()); } }