1
2
3
4
5
6
7 package org.sourceforge.jvb3d.Model;
8
9 import java.io.ByteArrayInputStream;
10 import java.io.ByteArrayOutputStream;
11 import java.io.ObjectInputStream;
12 import java.io.ObjectOutputStream;
13 import javax.media.j3d.BranchGroup;
14
15 import junit.framework.TestCase;
16
17 /***
18 * @author spootnick
19 *
20 * TODO To change the template for this generated type comment go to
21 * Window - Preferences - Java - Code Style - Code Templates
22 */
23 public class ControlableObjectTest extends TestCase {
24
25 TestControlableObject obj1,obj2;
26
27
28
29 protected void setUp() throws Exception {
30 super.setUp();
31 obj1=new TestControlableObject();
32 obj2=new TestControlableObject();
33 obj1.isServer=false;
34 obj2.isServer=false;
35 }
36
37
38
39
40 protected void tearDown() throws Exception {
41 super.tearDown();
42 }
43
44 /***
45 * Constructor for ControlableObjectTest.
46 * @param arg0
47 */
48 public ControlableObjectTest(String arg0) {
49 super(arg0);
50 }
51
52
53
54
55
56 public void testControlableObjectEquals(){
57 assertTrue(!obj1.equals(null));
58 assertEquals(obj1,new MovableObject());
59 assertEquals(obj1,obj1);
60
61 obj2.nextTurn(1000);
62 assertEquals(obj1,obj2);
63 obj2.moveLeftRight(1f);
64 assertTrue(!obj1.equals(obj2));
65 }
66
67 public void testControlableObjectExternalizable() throws Exception{
68 ByteArrayOutputStream bao = new ByteArrayOutputStream();
69 ObjectOutputStream out= new ObjectOutputStream(bao);
70 obj1.writeExternal(out);
71 out.close();
72 byte[] buf=bao.toByteArray();
73 ByteArrayInputStream bai = new ByteArrayInputStream(buf);
74 ObjectInputStream in = new ObjectInputStream(bai);
75
76 obj2.moveForwardBackward(1f);
77 obj2.turnLeftRight(10f);
78 obj2.turnUpDown(10f);
79 obj2.moveLeftRight(1f);
80 obj2.nextTurn(1000);
81 assertTrue(!obj1.equals(obj2));
82 obj2.readExternal(in);
83 assertEquals(obj1,obj2);
84 }
85
86
87
88
89
90
91
92
93 public void testControlableObjectNextTurn(){
94
95
96
97
98
99
100
101
102
103
104
105
106
107 obj1.moveForwardBackward(2f);
108 obj2.moveForwardBackward(1f);
109 obj1.nextTurn(500000000);
110 obj2.nextTurn(1000000000);
111 obj1.moveForwardBackward(0);
112 obj2.moveForwardBackward(0);
113 assertEquals(obj1,obj2);
114
115
116 }
117 }