package pedersen.physics; import junit.framework.TestCase; import pedersen.core.Constraints; public class StaticHeadingImplTest extends TestCase { public void testGetHeading() { double rawHeading1 = Math.PI * 0.5; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); assertEquals( "Heading discrepancy.", rawHeading1, heading.getHeading(), Constraints.doubleErrorTolerance ); } public void testEqualsAngleWithDoubleForPositiveMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 2.5; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); assertTrue( "Heading discrepancy.", heading.equalsAngle( rawHeading2 ) ); } public void testEqualsAngleWithDoubleForNegativeMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * -1.5; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); assertTrue( "Heading discrepancy.", heading.equalsAngle( rawHeading2 ) ); } public void testEqualsAngleWithDoubleForMismatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.3; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); assertFalse( "Heading discrepancy.", heading.equalsAngle( rawHeading2 ) ); } public void testEqualsAngleWithStaticHeadingForPositiveMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 2.5; StaticHeading heading1 = new StaticHeadingImpl( rawHeading1 ); StaticHeading heading2 = new StaticHeadingImpl( rawHeading2 ); assertTrue( "Heading discrepancy.", heading1.equalsAngle( heading2 ) ); } public void testEqualsAngleWithStaticHeadingForNegativeMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * -1.5; StaticHeading heading1 = new StaticHeadingImpl( rawHeading1 ); StaticHeading heading2 = new StaticHeadingImpl( rawHeading2 ); assertTrue( "Heading discrepancy.", heading1.equalsAngle( heading2 ) ); } public void testEqualsAngleWithStaticHeadingForMismatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.3; StaticHeading heading1 = new StaticHeadingImpl( rawHeading1 ); StaticHeading heading2 = new StaticHeadingImpl( rawHeading2 ); assertFalse( "Heading discrepancy.", heading1.equalsAngle( heading2 ) ); } public void testGetRelativeAngleWithDoubleForPositiveMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.9; double rawHeading3 = Math.PI * 0.4; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); double relativeHeading = heading.getRelativeAngle( rawHeading2 ); assertEquals( "Heading discrepancy.", relativeHeading, rawHeading3, Constraints.doubleErrorTolerance ); } public void testGetRelativeAngleWithDoubleForNegativeMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.1; double rawHeading3 = Math.PI * -0.4; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); double relativeHeading = heading.getRelativeAngle( rawHeading2 ); assertEquals( "Heading discrepancy.", relativeHeading, rawHeading3, Constraints.doubleErrorTolerance ); } public void testGetRelativeAngleWithDoubleForMismatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.3; double rawHeading3 = Math.PI * 0.4; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); double relativeHeading = heading.getRelativeAngle( rawHeading2 ); assertFalse( "Heading discrepancy.", Constraints.areEqual( relativeHeading, rawHeading3 ) ); } public void testGetRelativeAngleWithStaticHeadingForPositiveMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.9; double rawHeading3 = Math.PI * 0.4; StaticHeading heading1 = new StaticHeadingImpl( rawHeading1 ); StaticHeading heading2 = new StaticHeadingImpl( rawHeading2 ); double relativeHeading = heading1.getRelativeAngle( heading2 ); assertEquals( "Heading discrepancy.", relativeHeading, rawHeading3, Constraints.doubleErrorTolerance ); } public void testGetRelativeAngleWithStaticHeadingForNegativeMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.1; double rawHeading3 = Math.PI * -0.4; StaticHeading heading1 = new StaticHeadingImpl( rawHeading1 ); StaticHeading heading2 = new StaticHeadingImpl( rawHeading2 ); double relativeHeading = heading1.getRelativeAngle( heading2 ); assertEquals( "Heading discrepancy.", relativeHeading, rawHeading3, Constraints.doubleErrorTolerance ); } public void testGetRelativeAngleWithStaticHeadingForMismatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.3; double rawHeading3 = Math.PI * 0.4; StaticHeading heading1 = new StaticHeadingImpl( rawHeading1 ); StaticHeading heading2 = new StaticHeadingImpl( rawHeading2 ); double relativeHeading = heading1.getRelativeAngle( heading2 ); assertFalse( "Heading discrepancy.", Constraints.areEqual( relativeHeading, rawHeading3 ) ); } public void testGetCompoundAngleWithDoubleForPositiveMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.9; double rawHeading3 = Math.PI * 1.4; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); double compoundHeading = heading.getCompoundAngle( rawHeading2 ); assertEquals( "Heading discrepancy.", compoundHeading, rawHeading3, Constraints.doubleErrorTolerance ); } public void testGetCompoundAngleWithDoubleForNegativeMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * -0.9; double rawHeading3 = Math.PI * 1.6; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); double compoundHeading = heading.getCompoundAngle( rawHeading2 ); assertEquals( "Heading discrepancy.", compoundHeading, rawHeading3, Constraints.doubleErrorTolerance ); } public void testGetCompoundAngleWithDoubleForMismatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.3; double rawHeading3 = Math.PI * 0.4; StaticHeading heading = new StaticHeadingImpl( rawHeading1 ); double compoundHeading = heading.getCompoundAngle( rawHeading2 ); assertFalse( "Heading discrepancy.", Constraints.areEqual( compoundHeading, rawHeading3 ) ); } public void testGetCompoundAngleWithStaticHeadingForPositiveMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.9; double rawHeading3 = Math.PI * 1.4; StaticHeading heading1 = new StaticHeadingImpl( rawHeading1 ); StaticHeading heading2 = new StaticHeadingImpl( rawHeading2 ); double compoundHeading = heading1.getCompoundAngle( heading2 ); assertEquals( "Heading discrepancy.", compoundHeading, rawHeading3, Constraints.doubleErrorTolerance ); } public void testGetCompoundAngleWithStaticHeadingForNegativeMatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * -0.9; double rawHeading3 = Math.PI * 1.6; StaticHeading heading1 = new StaticHeadingImpl( rawHeading1 ); StaticHeading heading2 = new StaticHeadingImpl( rawHeading2 ); double compoundHeading = heading1.getCompoundAngle( heading2 ); assertEquals( "Heading discrepancy.", compoundHeading, rawHeading3, Constraints.doubleErrorTolerance ); } public void testGetCompoundAngleWithStaticHeadingForMismatch() { double rawHeading1 = Math.PI * 0.5; double rawHeading2 = Math.PI * 0.3; double rawHeading3 = Math.PI * 0.4; StaticHeading heading1 = new StaticHeadingImpl( rawHeading1 ); StaticHeading heading2 = new StaticHeadingImpl( rawHeading2 ); double compoundHeading = heading1.getCompoundAngle( heading2 ); assertFalse( "Heading discrepancy.", Constraints.areEqual( compoundHeading, rawHeading3 ) ); } }
|