/tests/org/mt4j/test/util/math/Vector3DTest.java

http://mt4j.googlecode.com/ · Java · 33 lines · 24 code · 9 blank · 0 comment · 1 complexity · d1b7b48393515815f9abfc604c8f09ea MD5 · raw file

  1. package org.mt4j.test.util.math;
  2. import org.mt4j.util.math.ToolsMath;
  3. import org.mt4j.util.math.Vector3D;
  4. import junit.framework.TestCase;
  5. public class Vector3DTest extends TestCase {
  6. public void testVector3D(){
  7. Vector3D a = new Vector3D(1,2,3);
  8. Vector3D b = new Vector3D(3,2,1);
  9. Vector3D c = new Vector3D(1,0,0);
  10. Vector3D d = new Vector3D(0,1,0);
  11. assertTrue(new Vector3D(5,6,7).equalsVector(new Vector3D(5,6,7)));
  12. assertTrue(new Vector3D(5,6,7).equalsVectorWithTolerance(new Vector3D(4.8f, 6,6.9f), 0.2f));
  13. assertTrue("Vector3D getAdded test" , a.getAdded(b).equalsVector(new Vector3D(4,4,4)));
  14. assertTrue("Vector3D getAdded test" , a.getSubtracted(b).equalsVector(new Vector3D(-2,0,2)));
  15. assertTrue("Vector3D addLocal(), subtractLocal() test" , new Vector3D(a).subtractLocal(b).addLocal(b).equalsVector(a));
  16. assertTrue(a.equalsVectorWithTolerance(new Vector3D(0.8f, 2,2.9f), 0.2f));
  17. System.out.println(c.angleBetween(d) * ToolsMath.RAD_TO_DEG);
  18. assertTrue(c.angleBetween(d) * ToolsMath.RAD_TO_DEG == 90 );
  19. Vector3D e = new Vector3D(c);
  20. e.rotateZ(90 * ToolsMath.DEG_TO_RAD);
  21. e.rotateZ(-90 * ToolsMath.DEG_TO_RAD);
  22. assertTrue(e.equalsVector(c));
  23. }
  24. }