[Home]Ugluk/Unit Testing

Robo Home | Ugluk | Changes | Preferences | AllPages

Showing revision 2
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 ) );
	}

}

Robo Home | Ugluk | Changes | Preferences | AllPages
Edit revision 2 of this page | View other revisions | View current revision
Edited March 4, 2006 1:09 EST by Martin Alan Pedersen (diff)
Search: