Browse Source

Adding tests for plus-equals and minus-equals

Sam Jaffe 7 years ago
parent
commit
a48b7a86c8
2 changed files with 16 additions and 3 deletions
  1. 0 3
      vector_dummy.cpp
  2. 16 0
      vector_test.cpp

+ 0 - 3
vector_dummy.cpp

@@ -8,8 +8,5 @@
 #include "vector.hpp"
 
 namespace math { namespace vector {
-  template class vector<int, 2>;
-  template class vector<double, 3>;
   template class vector<int, 3>;
-  template class vector<int, 4>;
 } }

+ 16 - 0
vector_test.cpp

@@ -101,6 +101,22 @@ TEST(Vector, DivisionWithValueType) {
 //  EXPECT_THAT(4/iota2i(), (vec2i{4,2}));
 }
 
+TEST(Vector, OperatorPlusEqualsMutatesValue) {
+  vec3i vec = iota3i();
+  EXPECT_THAT(vec += iota3i(), vec3i({2, 4, 6}));
+  EXPECT_THAT(vec, vec3i({2, 4, 6}));
+  EXPECT_THAT(vec += 1, vec3i({3, 5, 7}));
+  EXPECT_THAT(vec, vec3i({3, 5, 7}));
+}
+
+TEST(Vector, OperatorMinusEqualsMutatesValue) {
+  vec3i vec = iota3i();
+  EXPECT_THAT(vec -= 1, vec3i({0, 1, 2}));
+  EXPECT_THAT(vec, vec3i({0, 1, 2}));
+  EXPECT_THAT(vec -= iota3i(), vec3i({-1, -1, -1}));
+  EXPECT_THAT(vec, vec3i({-1, -1, -1}));
+}
+
 TEST(Vector, MultiplicationWorksAcrossTypes) {
   EXPECT_THAT(iota3i()*0.5, vec3({0.5, 1.0, 1.5}));
   EXPECT_THAT(0.5*iota3i(), vec3({0.5, 1.0, 1.5}));