From 6c21dceb35f7aaf90e54d3c030130e9465f343f3 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Tue, 11 Sep 2012 21:14:32 +0200 Subject: Tests rewrite and Doxygen in src/math - rewritten tests to use new framework - updated/reformatted Doxygen - removed legacy conversions --- src/math/test/vector_test.cpp | 76 +++++++++---------------------------------- 1 file changed, 15 insertions(+), 61 deletions(-) (limited to 'src/math/test/vector_test.cpp') diff --git a/src/math/test/vector_test.cpp b/src/math/test/vector_test.cpp index 899a580..ead2fd2 100644 --- a/src/math/test/vector_test.cpp +++ b/src/math/test/vector_test.cpp @@ -26,59 +26,41 @@ #include "../func.h" #include "../vector.h" -#include +#include "gtest/gtest.h" -using namespace std; const float TEST_TOLERANCE = 1e-6; -int TestLength() + +TEST(VectorTest, LengthTest) { Math::Vector vec(-1.288447945923275, 0.681452565308134, -0.633761098985957); const float expectedLength = 1.58938001708428; - if (! Math::IsEqual(vec.Length(), expectedLength, TEST_TOLERANCE) ) - { - fprintf(stderr, "Length mismatch!\n"); - return __LINE__; - } - - return 0; + EXPECT_TRUE(Math::IsEqual(vec.Length(), expectedLength, TEST_TOLERANCE)); } -int TestNormalize() +TEST(VectorTest, NormalizeTest) { Math::Vector vec(1.848877241804398, -0.157262961268577, -1.963031403332377); const Math::Vector expectedNormalized(0.6844609421393856, -0.0582193085618106, -0.7267212194481797); vec.Normalize(); - if (! Math::VectorsEqual(vec, expectedNormalized, TEST_TOLERANCE)) - { - fprintf(stderr, "Normalize mismatch!\n"); - return __LINE__; - } - - return 0; + EXPECT_TRUE(Math::VectorsEqual(vec, expectedNormalized, TEST_TOLERANCE)); } -int TestDot() +TEST(VectorTest, DotTest) { Math::Vector vecA(0.8202190530968309, 0.0130926060162780, 0.2411914183883510); Math::Vector vecB(-0.0524083951404069, 1.5564932716738220, -0.8971342631500536); float expectedDot = -0.238988896477326; - if (! Math::IsEqual(Math::DotProduct(vecA, vecB), expectedDot, TEST_TOLERANCE) ) - { - fprintf(stderr, "Dot product mismatch!\n"); - return __LINE__; - } - - return 0; + EXPECT_TRUE(Math::IsEqual(Math::DotProduct(vecA, vecB), expectedDot, TEST_TOLERANCE)); } -int TestCross() +TEST(VectorTest, CrossTest) { Math::Vector vecA(1.37380499798567, 1.18054518384682, 1.95166361293121); Math::Vector vecB(0.891657855926886, 0.447591335394532, -0.901604070087823); @@ -86,42 +68,14 @@ int TestCross() Math::Vector expectedCross(-1.937932065431669, 2.978844370287636, -0.437739173833581); Math::Vector expectedReverseCross = -expectedCross; - if (! Math::VectorsEqual(vecA.CrossMultiply(vecB), expectedCross, TEST_TOLERANCE) ) - { - fprintf(stderr, "Cross product mismatch!\n"); - return __LINE__; - } - - if (! Math::VectorsEqual(vecB.CrossMultiply(vecA), expectedReverseCross, TEST_TOLERANCE) ) - { - fprintf(stderr, "Reverse cross product mismatch!\n"); - return __LINE__; - } + EXPECT_TRUE(Math::VectorsEqual(vecA.CrossMultiply(vecB), expectedCross, TEST_TOLERANCE)); - return 0; + EXPECT_TRUE(Math::VectorsEqual(vecB.CrossMultiply(vecA), expectedReverseCross, TEST_TOLERANCE)); } -int main() +int main(int argc, char* argv[]) { - // Functions to test - int (*TESTS[])() = - { - TestLength, - TestNormalize, - TestDot, - TestCross - }; - const int TESTS_SIZE = sizeof(TESTS) / sizeof(*TESTS); - - int result = 0; - for (int i = 0; i < TESTS_SIZE; ++i) - { - result = TESTS[i](); - if (result != 0) - return result; - } - - fprintf(stderr, "All tests successful\n"); - - return 0; + ::testing::InitGoogleTest(&argc, argv); + + return RUN_ALL_TESTS(); } -- cgit v1.2.3-1-g7c22