mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-22 14:13:30 -07:00
separate unit tests
This commit is contained in:
parent
54c6b59f98
commit
b1c95abf87
1 changed files with 27 additions and 9 deletions
|
@ -19,7 +19,8 @@ namespace CalculatorEngineTests
|
|||
{
|
||||
ChangeConstants(10, 128);
|
||||
}
|
||||
TEST_METHOD(ModuloTest)
|
||||
|
||||
TEST_METHOD(TestModuloOperandsNotModified)
|
||||
{
|
||||
// Verify results but also check that operands are not modified
|
||||
Rational rat25(25);
|
||||
|
@ -42,9 +43,12 @@ namespace CalculatorEngineTests
|
|||
VERIFY_ARE_EQUAL(res, 3);
|
||||
VERIFY_ARE_EQUAL(ratminus25, -25);
|
||||
VERIFY_ARE_EQUAL(rat4, 4);
|
||||
}
|
||||
|
||||
TEST_METHOD(TestModuloInteger)
|
||||
{
|
||||
// Check with integers
|
||||
res = Mod(Rational(426), Rational(56478));
|
||||
auto res = Mod(Rational(426), Rational(56478));
|
||||
VERIFY_ARE_EQUAL(res, 426);
|
||||
res = Mod(Rational(56478), Rational(426));
|
||||
VERIFY_ARE_EQUAL(res, 246);
|
||||
|
@ -58,9 +62,12 @@ namespace CalculatorEngineTests
|
|||
VERIFY_ARE_EQUAL(res, 0);
|
||||
res = Mod(Rational(1000), Rational(-250));
|
||||
VERIFY_ARE_EQUAL(res, 0);
|
||||
}
|
||||
|
||||
TEST_METHOD(TestModuloZero)
|
||||
{
|
||||
// Test with Zero
|
||||
res = Mod(Rational(343654332), Rational(0));
|
||||
auto res = Mod(Rational(343654332), Rational(0));
|
||||
VERIFY_ARE_EQUAL(res, 343654332);
|
||||
res = Mod(Rational(0), Rational(8756));
|
||||
VERIFY_ARE_EQUAL(res, 0);
|
||||
|
@ -70,9 +77,12 @@ namespace CalculatorEngineTests
|
|||
VERIFY_ARE_EQUAL(res, 0);
|
||||
res = Mod(Rational(Number(1, 0, { 23242 }), Number(1, 0, { 2 })), Rational(Number(1, 0, { 0 }), Number(1, 0, { 23 })));
|
||||
VERIFY_ARE_EQUAL(res, 11621);
|
||||
}
|
||||
|
||||
TEST_METHOD(TestModuloRational)
|
||||
{
|
||||
// Test with rational numbers
|
||||
res = Mod(Rational(Number(1, 0, { 250 }), Number(1, 0, { 100 })), Rational(89));
|
||||
auto res = Mod(Rational(Number(1, 0, { 250 }), Number(1, 0, { 100 })), Rational(89));
|
||||
VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"2.5");
|
||||
res = Mod(Rational(Number(1, 0, { 3330 }), Number(1, 0, { 1332 })), Rational(1));
|
||||
VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"0.5");
|
||||
|
@ -94,7 +104,7 @@ namespace CalculatorEngineTests
|
|||
VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"-0.32");
|
||||
}
|
||||
|
||||
TEST_METHOD(RemainderTest)
|
||||
TEST_METHOD(TestRemainerOperandsNotModified)
|
||||
{
|
||||
//Verify results but also check that operands are not modified
|
||||
Rational rat25(25);
|
||||
|
@ -117,10 +127,12 @@ namespace CalculatorEngineTests
|
|||
VERIFY_ARE_EQUAL(res, -1);
|
||||
VERIFY_ARE_EQUAL(ratminus25, -25);
|
||||
VERIFY_ARE_EQUAL(rat4, 4);
|
||||
}
|
||||
|
||||
|
||||
TEST_METHOD(TestRemainerInteger)
|
||||
{
|
||||
// Check with integers
|
||||
res = Rational(426) % Rational(56478);
|
||||
auto res = Rational(426) % Rational(56478);
|
||||
VERIFY_ARE_EQUAL(res, 426);
|
||||
res = Rational(56478) % Rational(426);
|
||||
VERIFY_ARE_EQUAL(res, 246);
|
||||
|
@ -134,9 +146,12 @@ namespace CalculatorEngineTests
|
|||
VERIFY_ARE_EQUAL(res, 0);
|
||||
res = Rational(24) % Rational(24);
|
||||
VERIFY_ARE_EQUAL(res, 0);
|
||||
}
|
||||
|
||||
TEST_METHOD(TestRemainerZero)
|
||||
{
|
||||
// Test with Zero
|
||||
res = Rational(0) % Rational(3654);
|
||||
auto res = Rational(0) % Rational(3654);
|
||||
VERIFY_ARE_EQUAL(res, 0);
|
||||
res = Rational(0) % Rational(-242);
|
||||
VERIFY_ARE_EQUAL(res, 0);
|
||||
|
@ -176,9 +191,12 @@ namespace CalculatorEngineTests
|
|||
Assert::Fail();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_METHOD(TestRemainerRational)
|
||||
{
|
||||
//Test with rational numbers
|
||||
res = Rational(Number(1, 0, { 250 }), Number(1, 0, { 100 })) % Rational(89);
|
||||
auto res = Rational(Number(1, 0, { 250 }), Number(1, 0, { 100 })) % Rational(89);
|
||||
VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"2.5");
|
||||
res = Rational(Number(1, 0, { 3330 }), Number(1, 0, { 1332 })) % Rational(1);
|
||||
VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"0.5");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue