Parcourir la source

Add vector equivalents of tests such as int(5) * double(0.5) = double(2.5)

Sam Jaffe il y a 7 ans
Parent
commit
ea80c1cc4f
1 fichiers modifiés avec 12 ajouts et 0 suppressions
  1. 12 0
      vector_test.cpp

+ 12 - 0
vector_test.cpp

@@ -101,6 +101,18 @@ TEST(Vector, DivisionWithValueType) {
 //  EXPECT_THAT(4/iota2i(), (vec2i{4,2}));
 }
 
+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}));
+  EXPECT_THAT(vec3({2.0, 1.5, -2})*iota3i(), vec3({2.0, 3.0, -6.0}));
+}
+
+TEST(Vector, DivisionWorksAcrossTypes) {
+  EXPECT_THAT(iota3i()/0.5, vec3({2.0, 4.0, 6.0}));
+  EXPECT_THAT(iota3i()/vec3({2.0, 2.5, -2}), vec3({0.5, 0.8, -1.5}));
+  EXPECT_THAT(vec3({2.0, 2.5, -3})/iota3i(), vec3({2.0, 1.25, -1.0}));
+}
+
 TEST(Vector, Length) {
   //    EXPECT_THAT(iota3i().lengthSquared(), 14);
   EXPECT_THAT(iota3i().magnitude(),