From ca802d86aff60a528f77133399240d2553cbabec Mon Sep 17 00:00:00 2001 From: Rudy Huyn Date: Sat, 30 Mar 2019 03:35:29 -0700 Subject: [PATCH] Add unit tests to test rem(x, 0) and mod(x, 0) --- src/CalculatorUnitTests/RationalTest.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/CalculatorUnitTests/RationalTest.cpp b/src/CalculatorUnitTests/RationalTest.cpp index 229aca96..def0571e 100644 --- a/src/CalculatorUnitTests/RationalTest.cpp +++ b/src/CalculatorUnitTests/RationalTest.cpp @@ -10,7 +10,7 @@ using namespace CalcEngine; using namespace CalcEngine::RationalMath; using namespace Microsoft::VisualStudio::CppUnitTestFramework; -namespace RationalTests +namespace CalculatorManagerTest { TEST_CLASS(RationalTest) { @@ -44,6 +44,10 @@ namespace RationalTests VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 128), L"-8113"); res = Mod(Rational(-643), Rational(-8756)); VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 128), L"-643"); + + //Test with Zero + res = Mod(Rational(343654332), Rational(0)); + VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 128), L"343654332"); } TEST_METHOD(RemainderTest) @@ -71,6 +75,24 @@ namespace RationalTests VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 128), L"643"); res = Rational(-643) % Rational(-8756); VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 128), L"-643"); + + //Test with Zero + try + { + res = Rational(343654332) % Rational(0); + Assert::Fail(); + } + catch (uint32_t t) + { + if (t != CALC_E_INDEFINITE) + { + Assert::Fail(); + } + } + catch (...) + { + Assert::Fail(); + } } }; }