From 9d3d78fe16353a861f40995885ce25f765dfa3ef Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Sat, 2 Mar 2024 13:11:43 +0100 Subject: [PATCH] better NR test --- test/test_rational.cpp | 51 +++++++++++------------------------------- 1 file changed, 13 insertions(+), 38 deletions(-) diff --git a/test/test_rational.cpp b/test/test_rational.cpp index 53d1674..2731813 100644 --- a/test/test_rational.cpp +++ b/test/test_rational.cpp @@ -3,48 +3,23 @@ #include static void test() { - /*NR* frac = new NR; - NR frac2(3); - NR frac3(2, 5); - int a, b; - std::cout << "PGCD : entrez deux entiers" << std::endl; - std::cin >> a >> b; - std::cout << PGCD(a, b) << std::endl; - std::cout << "frac : entrez deux entiers" << std::endl; - std::cin >> a >> b; - NR fractest(a, b); - std::cout << fractest << " + " << frac3 << " = " << std::endl; - std::cout << ">> " << (fractest + frac3) << std::endl; - std::cout << ">> " << (fractest + frac3).GetNumerator() << "/" << (fractest + frac3).GetDenominator() << std::endl; - fractest = fractest + frac3; - std::cout << ">> " << fractest << std::endl; - // frac->NRset(2, 4); - NR anotherfrac; - std::cin >> anotherfrac; - std::cout << "Compare " << fractest << " and " << anotherfrac << " : ==? " << (fractest == anotherfrac) << " =? " << (fractest >= anotherfrac) << std::endl; - std::cout << anotherfrac << " - " << *frac << " = " << anotherfrac - *frac << std::endl; - std::cout << anotherfrac << " * " << *frac << " = " << std::endl << ">> " << anotherfrac * *frac << std::endl; - fractest = anotherfrac * *frac; - std::cout << ">> " << fractest << std::endl; - fractest.Reduce(); - std::cout << ">> " << fractest << std::endl; - std::cout << anotherfrac << " / " << frac2 << " = " << anotherfrac / frac2 << std::endl; - NR numNR(2, 4); - NR otherNR(3, 1); - std::cout << numNR << " - " << otherNR << " = " << std::endl; - NR subNR = numNR - otherNR; - std::cout << ">> " << (numNR - otherNR) << std::endl << ">> " << subNR << std::endl; - delete frac;*/ + assert((NR {1, 5} == NR {5, 25})); + assert((NR {1, 5} != NR {4, 25})); - NR frac1 {2}; - NR frac2 {1}; + assert(NR {2} == NR {1} + 1); + assert(NR {1} == (NR {1, 4} + NR {3, 4})); + assert((NR {-3, -4} == NR {1, 2} + NR {1, 4})); - assert(frac1 != frac2); + assert((NR {-1, 4} == NR {1, 4} - NR {1, 2})); + assert((NR {1, -4} == NR {1, 4} - NR {1, 2})); + assert((-NR {1, 4} == NR {1, 4} - NR {1, 2})); - frac2 *= 2; + assert((NR {2} == NR {4, 3} * NR {3, 2})); + assert((NR {3, 5} == NR {4, 5} * NR {3, 4})); - assert(frac1 == frac2); + assert((NR {21, 16} == NR {7, 8} / NR {6, 9})); + + assert((NR {4, 3} == NR {3, 4}.Inverse())); } int main(int argc, char** argv) {