diff --git a/test/test_basics.cc b/test/test_basics.cc index c5fa019..98c7d71 100644 --- a/test/test_basics.cc +++ b/test/test_basics.cc @@ -177,6 +177,7 @@ public: protected: Matrix4 m1, m2; + Matrix4 id; }; @@ -194,6 +195,8 @@ Matrix4Test::SetUp() 34, 55, 89, 144, 233, 377, 610, 987}; m2 = Matrix4(m2Cells); + + id = Matrix4::Identity(); } @@ -245,7 +248,7 @@ TEST_F(Matrix4Test, ScalarMultiplication) } -TEST_F(Matrix4Test, MatrixMultiplication) +TEST_F(Matrix4Test, SquareMatrixMultiplication) { const Double p1Expect[] = {1045, 1690, 2735, 4425, 2137, 3454, 5591, 9045, @@ -275,3 +278,28 @@ TEST_F(Matrix4Test, MatrixMultiplication) EXPECT_EQ(p4.CArray()[i], m1.CArray()[i]); } } + + +TEST_F(Matrix4Test, IdentityMultiplication) +{ + Matrix4 p1 = m1 * id; + for (UInt i = 0; i < 16; i++) { + EXPECT_EQ(p1.CArray()[i], m1.CArray()[i]); + } + + Matrix4 p2 = id * m1; + for (UInt i = 0; i < 16; i++) { + EXPECT_EQ(p2.CArray()[i], m1.CArray()[i]); + } +} + + +TEST_F(Matrix4Test, VectorMultiplication) +{ + Vector4 v1(1, 2, 3); + + Vector4 p1 = id * v1; + EXPECT_EQ(p1.X(), v1.X()); + EXPECT_EQ(p1.Y(), v1.Y()); + EXPECT_EQ(p1.Z(), v1.Z()); +}