[GIT] ppl/ppl(floating_point): Improved test for class Linear_Form.

Module: ppl/ppl Branch: floating_point Commit: 3d115f781b8c26b19c6a4fe0b8d491a909e9a82a URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=3d115f781b8c2...
Author: Roberto Amadini r.amadini@virgilio.it Date: Wed Sep 9 17:55:46 2009 +0200
Improved test for class Linear_Form.
---
tests/Floating_Point_Expression/linearform1.cc | 48 ++++++++++++++++++++++-- 1 files changed, 44 insertions(+), 4 deletions(-)
diff --git a/tests/Floating_Point_Expression/linearform1.cc b/tests/Floating_Point_Expression/linearform1.cc index bee32ba..c6ba2ab 100644 --- a/tests/Floating_Point_Expression/linearform1.cc +++ b/tests/Floating_Point_Expression/linearform1.cc @@ -219,22 +219,62 @@ test07() {
// Tests overflows of space dimension. -// FIXME: works in progress! bool test08() { - Linear_Form<fl_r_oc> f; + Linear_Form<db_r_oc> f; Variable A(f.max_space_dimension());
bool ok1 = false; try { - f = Linear_Form<fl_r_oc>(A); + f = Linear_Form<db_r_oc>(A); } catch(std::length_error e) { nout << "Overflow in Linear_Form(const Variable v)." << endl; ok1 = true; }
- return ok1; + bool ok2 = false; + try { + f += A; + } + catch(std::length_error e) { + nout << "Overflow in operator+=(Linear_Form<C>& f, const Variable v)." + << endl; + ok2 = true; + } + + Linear_Form<db_r_oc> g; + bool ok3 = false; + try { + g = f - A; + } + catch(std::length_error e) { + nout << "Overflow in operator-(Linear_Form<C>& f, const Variable v)." + << endl; + ok3 = true; + } + + bool ok4 = false; + try { + g = A - f; + } + catch(std::length_error e) { + nout << "Overflow in operator-(const Variable v, Linear_Form<C>& f)." + << endl; + ok4 = true; + } + + bool ok5 = false; + try { + g = A + f; + } + catch(std::length_error e) { + nout << "Overflow in operator+(const Variable v, Linear_Form<C>& f)." + << endl; + ok5 = true; + } + + return ok1 && ok2 && ok3 && ok4 && ok5; }
} // namespace
participants (1)
-
Roberto Amadini