diff --git a/test/hmm_test.cpp b/test/hmm_test.cpp index 62e5a57..05af7d6 100644 --- a/test/hmm_test.cpp +++ b/test/hmm_test.cpp @@ -38,6 +38,7 @@ TEST(Initialization, Vectors) // hmm_vec4 v4 = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f); hmm_vec4 v4i = HMM_Vec4i(1, 2, 3, 4); + hmm_vec4 v4v = HMM_Vec4v(v3, 4.0f); EXPECT_FLOAT_EQ(v4.Elements[0], 1.0f); EXPECT_FLOAT_EQ(v4.Elements[1], 2.0f); @@ -48,4 +49,37 @@ TEST(Initialization, Vectors) EXPECT_FLOAT_EQ(v4i.Elements[1], 2.0f); EXPECT_FLOAT_EQ(v4i.Elements[2], 3.0f); EXPECT_FLOAT_EQ(v4i.Elements[3], 4.0f); + + EXPECT_FLOAT_EQ(v4v.Elements[0], 1.0f); + EXPECT_FLOAT_EQ(v4v.Elements[1], 2.0f); + EXPECT_FLOAT_EQ(v4v.Elements[2], 3.0f); + EXPECT_FLOAT_EQ(v4v.Elements[3], 4.0f); +} + +TEST(Initialization, MatrixEmpty) +{ + hmm_mat4 m4 = HMM_Mat4(); + for (int Column = 0; Column < 4; ++Column) + { + for (int Row = 0; Row < 4; ++Row) + { + EXPECT_FLOAT_EQ(m4.Elements[Column][Row], 0) << "At column " << Column << ", row " << Row; + } + } +} + +TEST(Initialization, MatrixDiagonal) +{ + hmm_mat4 m4d = HMM_Mat4d(1.0f); + for (int Column = 0; Column < 4; ++Column) + { + for (int Row = 0; Row < 4; ++Row) + { + if (Column == Row) { + EXPECT_FLOAT_EQ(m4d.Elements[Column][Row], 1.0f) << "At column " << Column << ", row " << Row; + } else { + EXPECT_FLOAT_EQ(m4d.Elements[Column][Row], 0) << "At column " << Column << ", row " << Row; + } + } + } }