package aphelion.shared.physics.valueobjects; import org.junit.Test; import static org.junit.Assert.*; /** * * @author Joris */ public class PhysicsPointHistoryTest { @Test public void testSet() { PhysicsPointHistory histA = new PhysicsPointHistory(100, 4); histA.setHistory(100, 100, 1234); histA.setHistory(101, 101, 5678); histA.setHistory(102, 102, 9108); histA.setHistory(103, 103, 2950); PhysicsPointHistory histB = new PhysicsPointHistory(100, 4); histB.setHistory(103, -103, 5736); histB.setHistory(104, -104, 4563); histB.setHistory(105, -105, 6748); histB.setHistory(106, -106, 2752); histB.set(histA); assertEquals(103, histB.getHighestTick()); assertEquals(100, histB.getLowestTick()); assertEquals( 100, histB.getX(100)); assertEquals( 101, histB.getX(101)); assertEquals( 102, histB.getX(102)); assertEquals( 103, histB.getX(103)); } @Test public void testOverwriteOutOfRange() { PhysicsPointHistory histA = new PhysicsPointHistory(100, 4); histA.setHistory(100, 100, 1234); histA.setHistory(101, 101, 5678); histA.setHistory(102, 102, 9108); histA.setHistory(103, 103, 2950); PhysicsPointHistory histB = new PhysicsPointHistory(23, 4); histB.setHistory( 20, -20, 5736); histB.setHistory( 21, -21, 4563); histB.setHistory( 22, -22, 6748); histB.setHistory( 23, -23, 2752); assertEquals(23, histB.getHighestTick()); assertEquals(20, histB.getLowestTick()); assertEquals(-20, histB.getX( 20)); assertEquals(-21, histB.getX( 21)); assertEquals(-22, histB.getX( 22)); assertEquals(-23, histB.getX( 23)); histB.overwrite(histA); assertEquals(23, histB.getHighestTick()); assertEquals(20, histB.getLowestTick()); assertEquals(-20, histB.getX( 20)); assertEquals(-21, histB.getX( 21)); assertEquals(-22, histB.getX( 22)); assertEquals(-23, histB.getX( 23)); } @Test public void testOverwriteLeftIntersect() { PhysicsPointHistory histA = new PhysicsPointHistory(100, 4); histA.setHistory(100, 100, 1234); histA.setHistory(101, 101, 5678); histA.setHistory(102, 102, 9108); histA.setHistory(103, 103, 2950); PhysicsPointHistory histB = new PhysicsPointHistory(100, 4); histB.setHistory(103, -103, 5736); histB.setHistory(104, -104, 4563); histB.setHistory(105, -105, 6748); histB.setHistory(106, -106, 2752); assertEquals(106, histB.getHighestTick()); assertEquals(103, histB.getLowestTick()); assertEquals(-103, histB.getX(103)); assertEquals(-104, histB.getX(104)); assertEquals(-105, histB.getX(105)); assertEquals(-106, histB.getX(106)); histB.overwrite(histA); assertEquals(106, histB.getHighestTick()); assertEquals(103, histB.getLowestTick()); assertEquals( 103, histB.getX(103)); assertEquals(-104, histB.getX(104)); assertEquals(-105, histB.getX(105)); assertEquals(-106, histB.getX(106)); } @Test public void testOverwriteRightIntersect() { PhysicsPointHistory histA = new PhysicsPointHistory(100, 4); histA.setHistory(100, 100, 1234); histA.setHistory(101, 101, 5678); histA.setHistory(102, 102, 9108); histA.setHistory(103, 103, 2950); PhysicsPointHistory histB = new PhysicsPointHistory(100, 4); histB.setHistory( 98, -98, 5736); histB.setHistory( 99, -99, 4563); histB.setHistory(100, -100, 6748); histB.setHistory(101, -101, 2752); assertEquals(101, histB.getHighestTick()); assertEquals( 98, histB.getLowestTick()); assertEquals( -98, histB.getX( 98)); assertEquals( -99, histB.getX( 99)); assertEquals(-100, histB.getX(100)); assertEquals(-101, histB.getX(101)); histB.overwrite(histA); assertEquals(101, histB.getHighestTick()); assertEquals( 98, histB.getLowestTick()); assertEquals( -98, histB.getX( 98)); assertEquals( -99, histB.getX( 99)); assertEquals( 100, histB.getX(100)); assertEquals( 101, histB.getX(101)); } @Test public void testOverwriteContains() { PhysicsPointHistory histA = new PhysicsPointHistory(100, 4); histA.setHistory(100, 100, 1234); histA.setHistory(101, 101, 5678); histA.setHistory(102, 102, 9108); histA.setHistory(103, 103, 2950); PhysicsPointHistory histB = new PhysicsPointHistory(100, 8); histB.setHistory( 98, -98, 5736); histB.setHistory( 99, -99, 4563); histB.setHistory(100, -100, 6748); histB.setHistory(101, -101, 2752); histB.setHistory(102, -102, 7562); histB.setHistory(103, -103, 1532); histB.setHistory(104, -104, 4673); histB.setHistory(105, -105, 4683); assertEquals(105, histB.getHighestTick()); assertEquals(98, histB.getLowestTick()); histB.overwrite(histA); assertEquals(105, histB.getHighestTick()); assertEquals(98, histB.getLowestTick()); assertEquals(-98, histB.getX( 98)); assertEquals(-99, histB.getX( 99)); assertEquals(100, histB.getX(100)); assertEquals(101, histB.getX(101)); assertEquals(102, histB.getX(102)); assertEquals(103, histB.getX(103)); assertEquals(-104, histB.getX(104)); assertEquals(-105, histB.getX(105)); } @Test public void testToString() { } }