@@ -26,6 +26,23 @@ static vec4 unit_w(0.0f, 0.0f, 0.0f, 1.0f);
2626static vec4 ones (1 .0f , 1 .0f , 1 .0f , 1 .0f );
2727static vec4 zeros (0 .0f , 0 .0f , 0 .0f , 0 .0f );
2828
29+ /* Constructors */
30+ BOOST_AUTO_TEST_CASE (test_empty_constructor) {
31+ vec4 v;
32+ BOOST_CHECK (v.x == 0 .0f );
33+ BOOST_CHECK (v.y == 0 .0f );
34+ BOOST_CHECK (v.z == 0 .0f );
35+ BOOST_CHECK (v.w == 0 .0f );
36+ }
37+
38+ BOOST_AUTO_TEST_CASE (test_populated_constructor) {
39+ vec4 v (62 .92f ,38 .82f ,52 .70f ,82 .72f );
40+ BOOST_CHECK (v.x == 62 .92f );
41+ BOOST_CHECK (v.y == 38 .82f );
42+ BOOST_CHECK (v.z == 52 .70f );
43+ BOOST_CHECK (v.w == 82 .72f );
44+ }
45+
2946/* Accessing fields */
3047BOOST_AUTO_TEST_CASE (test_x) {
3148 vec4 v (62 .92f ,38 .82f ,52 .70f ,37 .97f );
@@ -47,6 +64,15 @@ BOOST_AUTO_TEST_CASE(test_w) {
4764 BOOST_CHECK (v.w == 37 .97f );
4865}
4966
67+ BOOST_AUTO_TEST_CASE (test_array_access) {
68+ vec4 v = vec4 (1 .0f , 2 .0f , 3 .0f , 4 .0f );
69+ BOOST_CHECK (v[0 ] == v.x );
70+ BOOST_CHECK (v[1 ] == v.y );
71+ BOOST_CHECK (v[2 ] == v.z );
72+ BOOST_CHECK (v[3 ] == v.w );
73+ BOOST_CHECK (v[4 ] != v[4 ]);
74+ }
75+
5076/* Scalar Arithmetic */
5177BOOST_AUTO_TEST_CASE (test_scalar_add) {
5278 BOOST_CHECK (zeros + 1 .0f == ones);
@@ -122,12 +148,17 @@ BOOST_AUTO_TEST_CASE(test_shorthand_vector_subtract) {
122148}
123149
124150/* Miscellaneous */
125- BOOST_AUTO_TEST_CASE (test_array_access) {
126- vec4 v = vec4 (1 .0f , 2 .0f , 3 .0f , 4 .0f );
127- BOOST_CHECK (v[0 ] == v.x );
128- BOOST_CHECK (v[1 ] == v.y );
129- BOOST_CHECK (v[2 ] == v.z );
130- BOOST_CHECK (v[3 ] == v.w );
151+ BOOST_AUTO_TEST_CASE (test_length) {
152+ vec4 v = vec4 (6 .0f , 6 .0f , 7 .0f , 0 .0f );
153+ BOOST_CHECK (v.length () == 11 .0f );
154+ }
155+
156+ BOOST_AUTO_TEST_CASE (test_tostring) {
157+ vec4 v = vec4 (6 .0f , 6 .0f , 7 .0f , 8 .0f );
158+ BOOST_CHECK (
159+ v.toString () ==
160+ " (x: 6.000000, y: 6.000000, z: 7.000000, w: 8.000000)"
161+ );
131162}
132163
133164BOOST_AUTO_TEST_SUITE_END ()
0 commit comments