From 009b15e41501972ebeada18e63ee9cb9fe45979c Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Fri, 11 Feb 2022 11:29:38 +0100 Subject: [PATCH] Translated tests for Math/Similar --- Test/CMakeLists.txt | 1 + Test/Math_Max.cpp | 40 ------------------------------- Test/Math_Min.cpp | 52 ----------------------------------------- Test/Math__Similar.cpp | 53 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 92 deletions(-) delete mode 100644 Test/Math_Max.cpp delete mode 100644 Test/Math_Min.cpp create mode 100644 Test/Math__Similar.cpp diff --git a/Test/CMakeLists.txt b/Test/CMakeLists.txt index 22dbe81..5ef7cb1 100644 --- a/Test/CMakeLists.txt +++ b/Test/CMakeLists.txt @@ -16,6 +16,7 @@ add_executable(Tests Math__Lerp.cpp Math__Max.cpp Math__Min.cpp + Math__Similar.cpp ) target_link_libraries(Tests Eule) diff --git a/Test/Math_Max.cpp b/Test/Math_Max.cpp deleted file mode 100644 index 34dc011..0000000 --- a/Test/Math_Max.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include "CppUnitTest.h" -#include "../Eule/Math.h" - -using namespace Microsoft::VisualStudio::CppUnitTestFramework; -using namespace Eule; - -/** Equivalence classes: -* -- a < b -* -- a > b -* -- a == b -*/ - -namespace _Math -{ - TEST_CLASS(_Max) - { - public: - // a < b - TEST_METHOD(a_lt_b) - { - Assert::AreEqual(12.0, Math::Max(4.0, 12.0)); - return; - } - - // a > b - TEST_METHOD(a_gt_b) - { - Assert::AreEqual(12.0, Math::Max(12.0, 4.0)); - return; - } - - // a == b - TEST_METHOD(a_eq_b) - { - Assert::AreEqual(9.0, Math::Max(9.0, 9.0)); - return; - } - - }; -} diff --git a/Test/Math_Min.cpp b/Test/Math_Min.cpp deleted file mode 100644 index 55315ca..0000000 --- a/Test/Math_Min.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "CppUnitTest.h" -#include "../Eule/Math.h" - -using namespace Microsoft::VisualStudio::CppUnitTestFramework; -using namespace Eule; - -/** Equivalence classes: -* -- min < v < max -* -- v < min < max -* -- min < max < v -* -- v == min < max -* -- min < v == max -* -- v < max == min -* -- max == min < v -* -- max == min == v -* -- max < v < min -*/ - -/** Equivalence classes: -* -- a < b -* -- a > b -* -- a == b -*/ - -namespace _Math -{ - TEST_CLASS(_Min) - { - public: - // a < b - TEST_METHOD(a_lt_b) - { - Assert::AreEqual(4.0, Math::Min(4.0, 9.0)); - return; - } - - // a > b - TEST_METHOD(a_gt_b) - { - Assert::AreEqual(4.0, Math::Min(9.0, 4.0)); - return; - } - - // a == b - TEST_METHOD(a_eq_b) - { - Assert::AreEqual(9.0, Math::Min(9.0, 9.0)); - return; - } - - }; -} diff --git a/Test/Math__Similar.cpp b/Test/Math__Similar.cpp new file mode 100644 index 0000000..df3e849 --- /dev/null +++ b/Test/Math__Similar.cpp @@ -0,0 +1,53 @@ +#include "Catch2.h" +#include + +using namespace Eule; + +// Checks that the similar function works with an exact comparison -> true +TEST_CASE(__FILE__"/Exact_Comparison_True", "[Math][Similar]") +{ + REQUIRE(Math::Similar(100, 100, 0)); + return; +} + +// Checks that the similar function works with an exact comparison -> false +TEST_CASE(__FILE__"/Exact_Comparison_False", "[Math][Similar]") +{ + REQUIRE_FALSE(Math::Similar(100, 100.001, 0)); + return; +} + +// Checks that the similar function works with an exact comparison -> false +TEST_CASE(__FILE__"/Exact_Comparison_False2", "[Math][Similar]") +{ + REQUIRE_FALSE(Math::Similar(100, 99.999, 0)); + return; +} + +// Checks that the similar function works with a loose comparison -> true +TEST_CASE(__FILE__"/Loose_Comparison_True", "[Math][Similar]") +{ + REQUIRE(Math::Similar(100, 100.001, 0.01)); + return; +} + +// Checks that the similar function works with a loose comparison -> true +TEST_CASE(__FILE__"/Loose_Comparison_True2", "[Math][Similar]") +{ + REQUIRE(Math::Similar(100, 99.999, 0.01)); + return; +} + +// Checks that the similar function works with a loose comparison -> false +TEST_CASE(__FILE__"/Loose_Comparison_False", "[Math][Similar]") +{ + REQUIRE_FALSE(Math::Similar(100, 100.1, 0.01)); + return; +} + +// Checks that the similar function works with a loose comparison -> false +TEST_CASE(__FILE__"/Loose_Comparison_False2", "[Math][Similar]") +{ + REQUIRE_FALSE(Math::Similar(100, 99.9, 0.01)); + return; +}