Removed FIXME comment since I'm convinced the test case is correct. Recall these...
[debian/openrocket] / core / test / net / sf / openrocket / util / TransformationTest.java
1 package net.sf.openrocket.util;
2
3 import org.junit.Test;
4 import static org.junit.Assert.assertEquals;
5
6
7 public class TransformationTest {
8         @Test
9         public void oldMainTest() {
10                 Transformation t;
11
12                 t = new Transformation();
13                 {
14                         Coordinate a = t.transform( new Coordinate(1,0,0) );
15                         assertEquals( new Coordinate(1,0,0), a );
16                         a = t.transform( new Coordinate(0,1,0) );
17                         assertEquals( new Coordinate(0,1,0), a );
18                         a = t.transform( new Coordinate(0,0,1) );
19                         assertEquals( new Coordinate(0,0,1), a );
20                 }
21
22                 t = new Transformation(1,2,3);
23                 {
24                         Coordinate a = t.transform( new Coordinate(1,0,0) );
25                         assertEquals( new Coordinate(2,2,3), a );
26                         a = t.transform( new Coordinate(0,1,0) );
27                         assertEquals( new Coordinate(1,3,3), a );
28                         a = t.transform( new Coordinate(0,0,1) );
29                         assertEquals( new Coordinate(1,2,4), a );
30                 }
31                 
32                 
33                 t = new Transformation(new Coordinate(2,3,4));
34                 {
35                         Coordinate a = t.transform( new Coordinate(1,0,0) );
36                         assertEquals( new Coordinate(3,3,4), a );
37                         a = t.transform( new Coordinate(0,1,0) );
38                         assertEquals( new Coordinate(2,4,4), a );
39                         a = t.transform( new Coordinate(0,0,1) );
40                         assertEquals( new Coordinate(2,3,5), a );
41                 }
42
43                 t = Transformation.rotate_y(0.01);
44                 {
45                         Coordinate a = t.transform( new Coordinate(1,0,0) );
46                         // we need to test individual coordinates due to error.
47                         assertEquals( 1, a.x, .001);
48                         assertEquals( 0, a.y, .001);
49                         assertEquals( -.01, a.z, .001);
50                         a = t.transform( new Coordinate(0,1,0) );
51                         assertEquals( new Coordinate(0,1,0), a );
52                         a = t.transform( new Coordinate(0,0,1) );
53                         // we need to test individual coordinates due to error.
54                         assertEquals( .01, a.x, .001);
55                         assertEquals( 0, a.y, .001);
56                         assertEquals( 1, a.z, .001);
57                 }
58
59                 t = new Transformation(-1,0,0);
60                 t = t.applyTransformation(Transformation.rotate_y(0.01));
61                 t = t.applyTransformation(new Transformation(1,0,0));
62                 {
63                         Coordinate a = t.transform( new Coordinate(1,0,0) );
64                         // we need to test individual coordinates due to error.
65                         assertEquals( 1, a.x, .001);
66                         assertEquals( 0, a.y, .001);
67                         assertEquals( -.02, a.z, .001);
68                         a = t.transform( new Coordinate(0,1,0) );
69                         assertEquals( 0, a.x, .001);
70                         assertEquals( 1, a.y, .001);
71                         assertEquals( -.01, a.z, .001);
72                         a = t.transform( new Coordinate(0,0,1) );
73                         // we need to test individual coordinates due to error.
74                         assertEquals( .01, a.x, .001);
75                         assertEquals( 0, a.y, .001);
76                         assertEquals( .99, a.z, .001);
77                 }
78         }
79
80
81 }