package net.sf.openrocket.util;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TransformationTest {
@Test
public void oldMainTest() {
Transformation t;
t = new Transformation();
{
Coordinate a = t.transform( new Coordinate(1,0,0) );
assertEquals( new Coordinate(1,0,0), a );
a = t.transform( new Coordinate(0,1,0) );
assertEquals( new Coordinate(0,1,0), a );
a = t.transform( new Coordinate(0,0,1) );
assertEquals( new Coordinate(0,0,1), a );
}
t = new Transformation(1,2,3);
{
Coordinate a = t.transform( new Coordinate(1,0,0) );
assertEquals( new Coordinate(2,2,3), a );
a = t.transform( new Coordinate(0,1,0) );
assertEquals( new Coordinate(1,3,3), a );
a = t.transform( new Coordinate(0,0,1) );
assertEquals( new Coordinate(1,2,4), a );
}
t = new Transformation(new Coordinate(2,3,4));
{
Coordinate a = t.transform( new Coordinate(1,0,0) );
assertEquals( new Coordinate(3,3,4), a );
a = t.transform( new Coordinate(0,1,0) );
assertEquals( new Coordinate(2,4,4), a );
a = t.transform( new Coordinate(0,0,1) );
assertEquals( new Coordinate(2,3,5), a );
}
t = Transformation.rotate_y(0.01);
{
Coordinate a = t.transform( new Coordinate(1,0,0) );
// we need to test individual coordinates due to error.
assertEquals( 1, a.x, .001);
assertEquals( 0, a.y, .001);
assertEquals( -.01, a.z, .001);
a = t.transform( new Coordinate(0,1,0) );
assertEquals( new Coordinate(0,1,0), a );
a = t.transform( new Coordinate(0,0,1) );
// we need to test individual coordinates due to error.
assertEquals( .01, a.x, .001);
assertEquals( 0, a.y, .001);
assertEquals( 1, a.z, .001);
}
t = new Transformation(-1,0,0);
t = t.applyTransformation(Transformation.rotate_y(0.01));
t = t.applyTransformation(new Transformation(1,0,0));
{
Coordinate a = t.transform( new Coordinate(1,0,0) );
// we need to test individual coordinates due to error.
assertEquals( 1, a.x, .001);
assertEquals( 0, a.y, .001);
assertEquals( -.02, a.z, .001);
a = t.transform( new Coordinate(0,1,0) );
assertEquals( 0, a.x, .001);
assertEquals( 1, a.y, .001);
assertEquals( -.01, a.z, .001);
a = t.transform( new Coordinate(0,0,1) );
// we need to test individual coordinates due to error.
assertEquals( .01, a.x, .001);
assertEquals( 0, a.y, .001);
assertEquals( .99, a.z, .001);
}
}
}