1   /*
2    * Created on Jul 17, 2004
3    * 
4    * TODO To change the template for this generated file go to Window -
5    * Preferences - Java - Code Generation - Code and Comments
6    */
7   package net.sourceforge.kamiwaai.geometricalgebra;
8   import junit.framework.TestCase;
9   /***
10   * @author Administrator
11   * 
12   * TODO To change the template for this generated type comment go to Window -
13   * Preferences - Java - Code Generation - Code and Comments
14   */
15  public class ConformalPointTest extends TestCase {
16  	PointC point1 = new PointC();
17  	PointC point2 = new PointC();
18  	public void testEquals() {
19  		assertTrue(point1.equals(point2));
20  	}
21  	public void testPointMV(){
22  		assertEquals(MultiVectors.nbar(), point1.getMultiVector());
23  	}
24  	public void testPointConstructor(){
25  		point1.sete1(7.0);
26  		point1.sete2(9.0);
27  		point1.sete3(13.0);
28  		assertEquals(new PointC(7.0, 9.0, 13.0), point1);
29  	}
30  	public void testSete1(){
31  		ComplexNumber[] c1234 = {new ComplexNumber(24.5,0.0) ,ComplexNumber.ZERO , ComplexNumber.ZERO ,ComplexNumber.ZERO };
32  		ComplexNumber[] c5678 = {ComplexNumber.ZERO ,new ComplexNumber(0.0,-7.0) ,ComplexNumber.ZERO ,ComplexNumber.ZERO };
33  		ComplexQuat cqn = new ComplexQuat(c1234);
34  		ComplexQuat cqnnb = new ComplexQuat(c5678);
35  		ComplexQuat[] cq = {ComplexQuat.ZERO, cqn, ComplexQuat.ONE, cqnnb};
36  		MultiVector mv = new MultiVector(cq);
37  		point1.sete1(7.0);
38  		assertEquals(point1, new PointC(mv));
39  	}
40  	public void testSete2(){
41  		ComplexNumber[] c1234 = {new ComplexNumber(40.5,0.0) ,ComplexNumber.ZERO , ComplexNumber.ZERO ,ComplexNumber.ZERO };
42  		ComplexNumber[] c5678 = {ComplexNumber.ZERO ,ComplexNumber.ZERO ,new ComplexNumber(0.0,-9.0) ,ComplexNumber.ZERO };
43  		ComplexQuat cqn = new ComplexQuat(c1234);
44  		ComplexQuat cqnnb = new ComplexQuat(c5678);
45  		ComplexQuat[] cq = {ComplexQuat.ZERO, cqn, ComplexQuat.ONE, cqnnb};
46  		MultiVector mv = new MultiVector(cq);
47  		point1.sete2(9.0);
48  		assertEquals(point1, new PointC(mv));
49  	}
50  	public void testSete3(){
51  		ComplexNumber[] c1234 = {new ComplexNumber(84.5,0.0) ,ComplexNumber.ZERO , ComplexNumber.ZERO ,ComplexNumber.ZERO };
52  		ComplexNumber[] c5678 = {ComplexNumber.ZERO ,ComplexNumber.ZERO ,ComplexNumber.ZERO ,new ComplexNumber(0.0,-13.0) };
53  		ComplexQuat cqn = new ComplexQuat(c1234);
54  		ComplexQuat cqnnb = new ComplexQuat(c5678);
55  		ComplexQuat[] cq = {ComplexQuat.ZERO, cqn, ComplexQuat.ONE, cqnnb};
56  		MultiVector mv = new MultiVector(cq);
57  		point1.sete3(13.0);
58  		assertEquals(point1, new PointC(mv));
59  	}
60  	public void testCoord(){
61  		point1.sete1(7.0);
62  		point1.sete2(9.0);
63  		point1.sete3(13.0);
64  		double[] result = {7.0, 9.0, 13.0};
65  		assertEquals(point1.coord()[0], result[0], .0001);
66  		assertEquals(point1.coord()[1], result[1], .0001);
67  		assertEquals(point1.coord()[2], result[2], .0001);
68  	}
69  	public void testPPDistance(){
70  		point1.sete1(7.0);
71  		point1.sete2(9.0);
72  		point1.sete3(13.0);
73  		assertEquals(point1.ppdistance(point2), Math.sqrt(7.0*7.0 + 9.0*9.0 + 13.0*13.0), 0.00000000001);
74  	}
75  	public static void main(String args[]){
76  		PointC point1 = new PointC();
77  		PointC point2 = new PointC();
78  		System.out.println(point1);
79  		point1.sete1(7);
80  		point1.sete2(9);
81  		point1.sete3(13);
82  		double[] result = point1.coord();
83  		for (int i = 0; i < result.length; i++) {
84  			//System.out.println("result[i] = "  + result[i]);
85  		}
86  		//System.out.println(point1.coord()[0]);
87  		//System.out.println(point1.ppdistance(point2));
88  		System.out.println(point1);
89  		PointC point3 = new PointC(7.0, 9.0, 13.0);
90  		System.out.println(point3);
91  	}
92  }