Changeset 912 for trunk/test/matrix.cpp
- Timestamp:
- Sep 7, 2011, 7:17:07 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/matrix.cpp
r907 r912 13 13 #endif 14 14 15 #include <cppunit/extensions/HelperMacros.h>16 #include <cppunit/TestCaller.h>17 #include <cppunit/TestCase.h>18 #include <cppunit/TestSuite.h>19 20 15 #include "core.h" 16 #include "lol/unit.h" 21 17 22 18 namespace lol 23 19 { 24 20 25 class MatrixTest : public CppUnit::TestCase 21 LOLUNIT_FIXTURE(MatrixTest) 26 22 { 27 CPPUNIT_TEST_SUITE(MatrixTest);28 CPPUNIT_TEST(test_vec_eq);29 CPPUNIT_TEST(test_vec_lt);30 CPPUNIT_TEST(test_vec_unary);31 CPPUNIT_TEST(test_vec_cast);32 CPPUNIT_TEST(test_mat_det);33 CPPUNIT_TEST(test_mat_mul);34 CPPUNIT_TEST(test_mat_inv);35 CPPUNIT_TEST_SUITE_END();36 37 23 public: 38 MatrixTest() : CppUnit::TestCase("Matrix Test") {}39 40 24 void setUp() 41 25 { … … 53 37 void tearDown() {} 54 38 55 void test_vec_eq()39 LOLUNIT_TEST(test_vec_eq) 56 40 { 57 41 vec2 a2(1.0f, 2.0f); … … 59 43 vec2 c2(1.0f, 0.0f); 60 44 61 CPPUNIT_ASSERT(a2 == a2);62 CPPUNIT_ASSERT(!(a2 != a2));63 64 CPPUNIT_ASSERT(a2 != b2);65 CPPUNIT_ASSERT(!(a2 == b2));66 CPPUNIT_ASSERT(a2 != c2);67 CPPUNIT_ASSERT(!(a2 == c2));45 LOLUNIT_ASSERT(a2 == a2); 46 LOLUNIT_ASSERT(!(a2 != a2)); 47 48 LOLUNIT_ASSERT(a2 != b2); 49 LOLUNIT_ASSERT(!(a2 == b2)); 50 LOLUNIT_ASSERT(a2 != c2); 51 LOLUNIT_ASSERT(!(a2 == c2)); 68 52 69 53 vec3 a3(1.0f, 2.0f, 3.0f); … … 72 56 vec3 d3(1.0f, 2.0f, 0.0f); 73 57 74 CPPUNIT_ASSERT(a3 == a3);75 CPPUNIT_ASSERT(!(a3 != a3));76 77 CPPUNIT_ASSERT(a3 != b3);78 CPPUNIT_ASSERT(!(a3 == b3));79 CPPUNIT_ASSERT(a3 != c3);80 CPPUNIT_ASSERT(!(a3 == c3));81 CPPUNIT_ASSERT(a3 != d3);82 CPPUNIT_ASSERT(!(a3 == d3));58 LOLUNIT_ASSERT(a3 == a3); 59 LOLUNIT_ASSERT(!(a3 != a3)); 60 61 LOLUNIT_ASSERT(a3 != b3); 62 LOLUNIT_ASSERT(!(a3 == b3)); 63 LOLUNIT_ASSERT(a3 != c3); 64 LOLUNIT_ASSERT(!(a3 == c3)); 65 LOLUNIT_ASSERT(a3 != d3); 66 LOLUNIT_ASSERT(!(a3 == d3)); 83 67 84 68 vec4 a4(1.0f, 2.0f, 3.0f, 4.0f); … … 88 72 vec4 e4(1.0f, 2.0f, 3.0f, 0.0f); 89 73 90 CPPUNIT_ASSERT(a4 == a4);91 CPPUNIT_ASSERT(!(a4 != a4));92 93 CPPUNIT_ASSERT(a4 != b4);94 CPPUNIT_ASSERT(!(a4 == b4));95 CPPUNIT_ASSERT(a4 != c4);96 CPPUNIT_ASSERT(!(a4 == c4));97 CPPUNIT_ASSERT(a4 != d4);98 CPPUNIT_ASSERT(!(a4 == d4));99 CPPUNIT_ASSERT(a4 != e4);100 CPPUNIT_ASSERT(!(a4 == e4));101 } 102 103 void test_vec_lt()74 LOLUNIT_ASSERT(a4 == a4); 75 LOLUNIT_ASSERT(!(a4 != a4)); 76 77 LOLUNIT_ASSERT(a4 != b4); 78 LOLUNIT_ASSERT(!(a4 == b4)); 79 LOLUNIT_ASSERT(a4 != c4); 80 LOLUNIT_ASSERT(!(a4 == c4)); 81 LOLUNIT_ASSERT(a4 != d4); 82 LOLUNIT_ASSERT(!(a4 == d4)); 83 LOLUNIT_ASSERT(a4 != e4); 84 LOLUNIT_ASSERT(!(a4 == e4)); 85 } 86 87 LOLUNIT_TEST(test_vec_lt) 104 88 { 105 89 vec2 a2(1.0f, 3.0f); … … 110 94 vec2 f2(4.0f, 4.0f); 111 95 112 CPPUNIT_ASSERT(a2 <= a2);113 CPPUNIT_ASSERT(!(a2 < a2));114 115 CPPUNIT_ASSERT(!(a2 <= b2));116 CPPUNIT_ASSERT(!(a2 < b2));117 CPPUNIT_ASSERT(!(a2 <= c2));118 CPPUNIT_ASSERT(!(a2 < c2));119 CPPUNIT_ASSERT(!(a2 <= d2));120 CPPUNIT_ASSERT(!(a2 < d2));121 CPPUNIT_ASSERT(a2 <= e2);122 CPPUNIT_ASSERT(!(a2 < e2));123 CPPUNIT_ASSERT(a2 <= f2);124 CPPUNIT_ASSERT(a2 < f2);125 } 126 127 void test_vec_unary()96 LOLUNIT_ASSERT(a2 <= a2); 97 LOLUNIT_ASSERT(!(a2 < a2)); 98 99 LOLUNIT_ASSERT(!(a2 <= b2)); 100 LOLUNIT_ASSERT(!(a2 < b2)); 101 LOLUNIT_ASSERT(!(a2 <= c2)); 102 LOLUNIT_ASSERT(!(a2 < c2)); 103 LOLUNIT_ASSERT(!(a2 <= d2)); 104 LOLUNIT_ASSERT(!(a2 < d2)); 105 LOLUNIT_ASSERT(a2 <= e2); 106 LOLUNIT_ASSERT(!(a2 < e2)); 107 LOLUNIT_ASSERT(a2 <= f2); 108 LOLUNIT_ASSERT(a2 < f2); 109 } 110 111 LOLUNIT_TEST(test_vec_unary) 128 112 { 129 113 vec2 a(1.0f, 3.0f); 130 114 vec2 b(-1.0f, -3.0f); 131 115 132 CPPUNIT_ASSERT(a == -b);133 CPPUNIT_ASSERT(-a == b);134 } 135 136 void test_vec_cast()116 LOLUNIT_ASSERT(a == -b); 117 LOLUNIT_ASSERT(-a == b); 118 } 119 120 LOLUNIT_TEST(test_vec_cast) 137 121 { 138 122 vec2 a1(1.0f, 3.0f); … … 140 124 vec3 b(a1); 141 125 vec2 a2(b); 142 CPPUNIT_ASSERT_EQUAL(b.x, a1.x);143 CPPUNIT_ASSERT_EQUAL(b.y, a1.y);144 CPPUNIT_ASSERT_EQUAL(b.z, 0.0f);145 CPPUNIT_ASSERT(a2 == a1);126 LOLUNIT_ASSERT_EQUAL(b.x, a1.x); 127 LOLUNIT_ASSERT_EQUAL(b.y, a1.y); 128 LOLUNIT_ASSERT_EQUAL(b.z, 0.0f); 129 LOLUNIT_ASSERT(a2 == a1); 146 130 147 131 vec4 c(a1); 148 132 vec2 a3(c); 149 CPPUNIT_ASSERT_EQUAL(c.x, a1.x);150 CPPUNIT_ASSERT_EQUAL(c.y, a1.y);151 CPPUNIT_ASSERT_EQUAL(c.z, 0.0f);152 CPPUNIT_ASSERT_EQUAL(c.w, 0.0f);153 CPPUNIT_ASSERT(a3 == a1);154 } 155 156 void test_mat_det()133 LOLUNIT_ASSERT_EQUAL(c.x, a1.x); 134 LOLUNIT_ASSERT_EQUAL(c.y, a1.y); 135 LOLUNIT_ASSERT_EQUAL(c.z, 0.0f); 136 LOLUNIT_ASSERT_EQUAL(c.w, 0.0f); 137 LOLUNIT_ASSERT(a3 == a1); 138 } 139 140 LOLUNIT_TEST(test_mat_det) 157 141 { 158 142 float d1 = triangular.det(); 159 CPPUNIT_ASSERT_EQUAL(d1, 24.0f);143 LOLUNIT_ASSERT_EQUAL(d1, 24.0f); 160 144 float d2 = invertible.det(); 161 CPPUNIT_ASSERT_EQUAL(d2, -1.0f);162 } 163 164 void test_mat_mul()145 LOLUNIT_ASSERT_EQUAL(d2, -1.0f); 146 } 147 148 LOLUNIT_TEST(test_mat_mul) 165 149 { 166 150 mat4 m0 = identity; … … 168 152 mat4 m2 = m0 * m1; 169 153 170 CPPUNIT_ASSERT_EQUAL(m2[0][0], 1.0f);171 CPPUNIT_ASSERT_EQUAL(m2[1][0], 0.0f);172 CPPUNIT_ASSERT_EQUAL(m2[2][0], 0.0f);173 CPPUNIT_ASSERT_EQUAL(m2[3][0], 0.0f);174 175 CPPUNIT_ASSERT_EQUAL(m2[0][1], 0.0f);176 CPPUNIT_ASSERT_EQUAL(m2[1][1], 1.0f);177 CPPUNIT_ASSERT_EQUAL(m2[2][1], 0.0f);178 CPPUNIT_ASSERT_EQUAL(m2[3][1], 0.0f);179 180 CPPUNIT_ASSERT_EQUAL(m2[0][2], 0.0f);181 CPPUNIT_ASSERT_EQUAL(m2[1][2], 0.0f);182 CPPUNIT_ASSERT_EQUAL(m2[2][2], 1.0f);183 CPPUNIT_ASSERT_EQUAL(m2[3][2], 0.0f);184 185 CPPUNIT_ASSERT_EQUAL(m2[0][3], 0.0f);186 CPPUNIT_ASSERT_EQUAL(m2[1][3], 0.0f);187 CPPUNIT_ASSERT_EQUAL(m2[2][3], 0.0f);188 CPPUNIT_ASSERT_EQUAL(m2[3][3], 1.0f);189 } 190 191 void test_mat_inv()154 LOLUNIT_ASSERT_EQUAL(m2[0][0], 1.0f); 155 LOLUNIT_ASSERT_EQUAL(m2[1][0], 0.0f); 156 LOLUNIT_ASSERT_EQUAL(m2[2][0], 0.0f); 157 LOLUNIT_ASSERT_EQUAL(m2[3][0], 0.0f); 158 159 LOLUNIT_ASSERT_EQUAL(m2[0][1], 0.0f); 160 LOLUNIT_ASSERT_EQUAL(m2[1][1], 1.0f); 161 LOLUNIT_ASSERT_EQUAL(m2[2][1], 0.0f); 162 LOLUNIT_ASSERT_EQUAL(m2[3][1], 0.0f); 163 164 LOLUNIT_ASSERT_EQUAL(m2[0][2], 0.0f); 165 LOLUNIT_ASSERT_EQUAL(m2[1][2], 0.0f); 166 LOLUNIT_ASSERT_EQUAL(m2[2][2], 1.0f); 167 LOLUNIT_ASSERT_EQUAL(m2[3][2], 0.0f); 168 169 LOLUNIT_ASSERT_EQUAL(m2[0][3], 0.0f); 170 LOLUNIT_ASSERT_EQUAL(m2[1][3], 0.0f); 171 LOLUNIT_ASSERT_EQUAL(m2[2][3], 0.0f); 172 LOLUNIT_ASSERT_EQUAL(m2[3][3], 1.0f); 173 } 174 175 LOLUNIT_TEST(test_mat_inv) 192 176 { 193 177 mat4 m0 = invertible; … … 196 180 mat4 m2 = m0 * m1; 197 181 198 CPPUNIT_ASSERT_EQUAL(m2[0][0], 1.0f);199 CPPUNIT_ASSERT_EQUAL(m2[1][0], 0.0f);200 CPPUNIT_ASSERT_EQUAL(m2[2][0], 0.0f);201 CPPUNIT_ASSERT_EQUAL(m2[3][0], 0.0f);202 203 CPPUNIT_ASSERT_EQUAL(m2[0][1], 0.0f);204 CPPUNIT_ASSERT_EQUAL(m2[1][1], 1.0f);205 CPPUNIT_ASSERT_EQUAL(m2[2][1], 0.0f);206 CPPUNIT_ASSERT_EQUAL(m2[3][1], 0.0f);207 208 CPPUNIT_ASSERT_EQUAL(m2[0][2], 0.0f);209 CPPUNIT_ASSERT_EQUAL(m2[1][2], 0.0f);210 CPPUNIT_ASSERT_EQUAL(m2[2][2], 1.0f);211 CPPUNIT_ASSERT_EQUAL(m2[3][2], 0.0f);212 213 CPPUNIT_ASSERT_EQUAL(m2[0][3], 0.0f);214 CPPUNIT_ASSERT_EQUAL(m2[1][3], 0.0f);215 CPPUNIT_ASSERT_EQUAL(m2[2][3], 0.0f);216 CPPUNIT_ASSERT_EQUAL(m2[3][3], 1.0f);182 LOLUNIT_ASSERT_EQUAL(m2[0][0], 1.0f); 183 LOLUNIT_ASSERT_EQUAL(m2[1][0], 0.0f); 184 LOLUNIT_ASSERT_EQUAL(m2[2][0], 0.0f); 185 LOLUNIT_ASSERT_EQUAL(m2[3][0], 0.0f); 186 187 LOLUNIT_ASSERT_EQUAL(m2[0][1], 0.0f); 188 LOLUNIT_ASSERT_EQUAL(m2[1][1], 1.0f); 189 LOLUNIT_ASSERT_EQUAL(m2[2][1], 0.0f); 190 LOLUNIT_ASSERT_EQUAL(m2[3][1], 0.0f); 191 192 LOLUNIT_ASSERT_EQUAL(m2[0][2], 0.0f); 193 LOLUNIT_ASSERT_EQUAL(m2[1][2], 0.0f); 194 LOLUNIT_ASSERT_EQUAL(m2[2][2], 1.0f); 195 LOLUNIT_ASSERT_EQUAL(m2[3][2], 0.0f); 196 197 LOLUNIT_ASSERT_EQUAL(m2[0][3], 0.0f); 198 LOLUNIT_ASSERT_EQUAL(m2[1][3], 0.0f); 199 LOLUNIT_ASSERT_EQUAL(m2[2][3], 0.0f); 200 LOLUNIT_ASSERT_EQUAL(m2[3][3], 1.0f); 217 201 } 218 202 … … 221 205 }; 222 206 223 CPPUNIT_TEST_SUITE_REGISTRATION(MatrixTest);207 LOLUNIT_SETUP_FIXTURE(MatrixTest); 224 208 225 209 } /* namespace lol */
Note: See TracChangeset
for help on using the changeset viewer.