001 package test; 002 003 import physics3d.Angle; 004 import physics3d.Shape; 005 import physics3d.Vect3; 006 007 import components.GameSettings; 008 import components.GameSpace; 009 import components.TriangleBumper; 010 011 import junit.framework.TestCase; 012 013 public class TestTriangleBumper extends TestCase { 014 GameSpace g1; 015 GameSpace g2; 016 017 Vect3 p1; 018 Vect3 p2; 019 020 Vect3 o1; 021 Vect3 o2; 022 023 Angle a1; 024 Angle a2; 025 026 TriangleBumper b1; 027 TriangleBumper b2; 028 TriangleBumper b3; 029 TriangleBumper b4; 030 031 public TestTriangleBumper(String name) { 032 super(name); 033 034 g1 = new GameSpace(new GameSettings()); 035 g2 = new GameSpace(new GameSettings()); 036 037 p1 = new Vect3(1, 2, 3); 038 p2 = new Vect3(-5, 10, -12); 039 040 o1 = Vect3.X_HAT; 041 o2 = Vect3.Z_HAT; 042 043 a1 = Angle.DEG_270; 044 a2 = Angle.DEG_90; 045 046 b1 = new TriangleBumper(p1, o1, a1, "b1", g1); 047 b2 = new TriangleBumper(p2, o2, a2, "b2", g2); 048 b3 = new TriangleBumper(p1, o1, a1, "b1", g1); 049 b4 = new TriangleBumper(p1, o1, a1, "b1", g2); 050 } 051 052 protected void setUp() {} 053 054 // test creation 055 public void testCreation() { 056 checkCreation(p1, o1, a1, "bumper", g1); 057 } 058 059 public void testCreation2() { 060 checkCreation(p2, o2, a2, "", g2); 061 } 062 063 protected void checkCreation(Vect3 position, Vect3 orientVect, Angle a, String name, GameSpace g) { 064 TriangleBumper b = null; 065 try { 066 b = new TriangleBumper(position, orientVect, a, name, g); 067 } catch (Exception e) { 068 fail("could not create TriangleBumper with legal values"); 069 } 070 } 071 072 //test getPosition 073 public void testPosition() { 074 checkGetPosition(b1, p1); 075 } 076 077 public void testPosition2() { 078 checkGetPosition(b2, p2); 079 } 080 081 protected void checkGetPosition(TriangleBumper b, Vect3 p) { 082 assertEquals("position of TriangleBumper should have been " + p.toString() + 083 ", not " + b.getTLF().toString(), b.getTLF(), p); 084 } 085 086 //test getVelocity (make sure it's zero!) 087 public void testVelocity() { 088 checkGetVelocity(b1); 089 } 090 091 public void testVelocity2() { 092 checkGetVelocity(b2); 093 } 094 095 096 protected void checkGetVelocity(TriangleBumper b) { 097 assertEquals("velocity of TriangleBumper should have been 0", b.getVelocity(), Vect3.ZERO); 098 } 099 100 101 //test getOrientVector 102 public void testOrientVect() { 103 checkOrientVector(b1, o1); 104 } 105 106 public void testOrientVect2() { 107 checkOrientVector(b2, o2); 108 } 109 110 protected void checkOrientVector(TriangleBumper b, Vect3 ov) { 111 assertEquals("Orientation vector of TriangleBumper should have been " + ov.toString() + 112 ", not " + b.getOrientVector().toString(), b.getOrientVector(), ov); 113 } 114 115 //test getOrientAngle 116 public void testOrientAngle() { 117 checkOrientAngle(b1, a1); 118 } 119 120 public void testOrientAngle2() { 121 checkOrientAngle(b2, a2); 122 } 123 124 protected void checkOrientAngle(TriangleBumper b, Angle a) { 125 assertEquals("Orientation angle of SquareBumper should have been " + a.toString() + 126 ", not " + b.getOrientAngle().toString(), b.getOrientAngle(), a); 127 } 128 129 //test getName 130 public void testName() { 131 checkName(b1, "b1"); 132 } 133 134 protected void checkName(TriangleBumper b, String name) { 135 assertEquals("name should have been " + name + ", not " + b.getName(), b.getName(), name); 136 } 137 138 //test getShape 139 public void testShape() { 140 checkShape(b1); 141 } 142 143 public void testShape2() { 144 checkShape(b2); 145 } 146 147 protected void checkShape(TriangleBumper b) { 148 assertEquals(b.getShape(), Shape.getTriBumperShape()); 149 } 150 151 //test equals 152 public void testEquals() { 153 checkEquals(b1, b1); 154 } 155 156 public void testEquals2() { 157 checkEquals(b1, b3); 158 } 159 160 public void testNotEquals() { 161 checkNotEquals(b1, b2); 162 } 163 164 public void testNotEquals2() { 165 checkNotEquals(b1, b4); 166 } 167 168 protected void checkEquals(TriangleBumper b1, TriangleBumper b2) { 169 assertEquals(b1, b2); 170 } 171 172 protected void checkNotEquals(TriangleBumper b1, TriangleBumper b2) { 173 assertFalse(b1.equals(b2)); 174 } 175 }