[GIT] ppl/ppl(master): Added tests showing a bug in method contains() of weakly-relational shapes.
Module: ppl/ppl Branch: master Commit: 5e45d91a1e7eec00093fb90902f3394c9b183935 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=5e45d91a1e7ee...
Author: Enea Zaffanella zaffanella@cs.unipr.it Date: Wed May 23 16:23:01 2012 +0200
Added tests showing a bug in method contains() of weakly-relational shapes.
Method returns a wrong result when the shape is empty and the other argument is not empty. Tests are based on a bug report from Gianluca Amato.
---
tests/BD_Shape/contains1.cc | 19 +++++++++++++++++++ tests/Octagonal_Shape/contains1.cc | 29 ++++++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/tests/BD_Shape/contains1.cc b/tests/BD_Shape/contains1.cc index 36e2c4f..e434d97 100644 --- a/tests/BD_Shape/contains1.cc +++ b/tests/BD_Shape/contains1.cc @@ -172,6 +172,24 @@ test06() { return !contained; }
+bool +test07() { + TBD_Shape bds1(3, EMPTY); + + print_constraints(bds1, "*** bds1 ***"); + + TBD_Shape bds2(3, UNIVERSE); + + print_constraints(bds2, "*** bds2 ***"); + + bool contained = bds1.contains(bds2); + + nout << "*** bds1.contains(bds2) ***" << endl; + nout << (contained ? "true" : "false") << endl; + + return !contained; +} + } // namespace
BEGIN_MAIN @@ -181,4 +199,5 @@ BEGIN_MAIN DO_TEST(test04); DO_TEST(test05); DO_TEST(test06); + DO_TEST(test07); END_MAIN diff --git a/tests/Octagonal_Shape/contains1.cc b/tests/Octagonal_Shape/contains1.cc index 21b7c5a..649f3ea 100644 --- a/tests/Octagonal_Shape/contains1.cc +++ b/tests/Octagonal_Shape/contains1.cc @@ -245,20 +245,24 @@ test07() {
bool test08() { - TOctagonal_Shape oc1(0); + TOctagonal_Shape oc1(3, UNIVERSE);
print_constraints(oc1, "*** oc1 ***");
- TOctagonal_Shape oc2(0, EMPTY); + TOctagonal_Shape oc2(3, EMPTY);
print_constraints(oc2, "*** oc2 ***");
bool contained = oc1.contains(oc2); + bool strictly_contained = oc1.strictly_contains(oc2);
nout << "*** oc1.contains(oc2) ***" << endl; nout << (contained ? "true" : "false") << endl;
- return contained; + nout << "*** oc1.strictly_contains(oc2) ***" << endl; + nout << (strictly_contained ? "true" : "false") << endl; + + return contained && strictly_contained; }
bool @@ -333,6 +337,24 @@ test11() { return !contained; }
+bool +test12() { + TOctagonal_Shape oc1(3, EMPTY); + + print_constraints(oc1, "*** oc1 ***"); + + TOctagonal_Shape oc2(3, UNIVERSE); + + print_constraints(oc2, "*** oc2 ***"); + + bool contained = oc1.contains(oc2); + + nout << "*** oc1.contains(oc2) ***" << endl; + nout << (contained ? "true" : "false") << endl; + + return !contained; +} + } // namespace
BEGIN_MAIN @@ -347,4 +369,5 @@ BEGIN_MAIN DO_TEST(test09); DO_TEST(test10); DO_TEST(test11); + DO_TEST(test12); END_MAIN
participants (1)
-
Enea Zaffanella