summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorClark Barrett <barrett@cs.nyu.edu>2011-04-11 17:33:07 +0000
committerClark Barrett <barrett@cs.nyu.edu>2011-04-11 17:33:07 +0000
commita8ff3563d965e1220d6603becab09f446cc00d35 (patch)
tree75d8ebc97625e5e7932cfda7793893913d788f5b /test
parenta2602bd3e3ee90d50cb433e01b029d1176b4cc18 (diff)
Transitive closure module is working
Diffstat (limited to 'test')
-rw-r--r--test/unit/Makefile.am1
-rw-r--r--test/unit/util/trans_closure_black.h94
2 files changed, 93 insertions, 2 deletions
diff --git a/test/unit/Makefile.am b/test/unit/Makefile.am
index 7089951ad..bc49a7fac 100644
--- a/test/unit/Makefile.am
+++ b/test/unit/Makefile.am
@@ -42,6 +42,7 @@ UNIT_TESTS = \
util/rational_black \
util/rational_white \
util/stats_black \
+ util/trans_closure_black \
main/interactive_shell_black
export VERBOSE = 1
diff --git a/test/unit/util/trans_closure_black.h b/test/unit/util/trans_closure_black.h
index 99542223c..dfa066194 100644
--- a/test/unit/util/trans_closure_black.h
+++ b/test/unit/util/trans_closure_black.h
@@ -47,19 +47,109 @@ public:
}
void testSimple() {
- //Debug.on("cc");
- // add terms, then add equalities
+ bool b;
+ b = d_tc->addEdge(1,2);
+ TS_ASSERT(!b);
+
+ b = d_tc->addEdge(2,3);
+ TS_ASSERT(!b);
+
+ b = d_tc->addEdge(3,1);
+ TS_ASSERT(b);
+
+ b = d_tc->addEdge(2,4);
+ TS_ASSERT(!b);
+
+ b = d_tc->addEdge(2,5);
+ TS_ASSERT(!b);
+
+ b = d_tc->addEdge(4,6);
+ TS_ASSERT(!b);
+ b = d_tc->addEdge(6,2);
+ TS_ASSERT(b);
+ }
+
+
+ void test1() {
bool b;
b = d_tc->addEdge(1,2);
TS_ASSERT(!b);
+ d_context->push();
+
b = d_tc->addEdge(2,3);
TS_ASSERT(!b);
b = d_tc->addEdge(3,1);
TS_ASSERT(b);
+
+ d_context->pop();
+
+ b = d_tc->addEdge(3,1);
+ TS_ASSERT(!b);
+
+ b = d_tc->addEdge(2,3);
+ TS_ASSERT(b);
+
+ d_context->push();
+
+ b = d_tc->addEdge(6,4);
+ TS_ASSERT(!b);
+
+ b = d_tc->addEdge(2,6);
+ TS_ASSERT(!b);
+
+ b = d_tc->addEdge(4,1);
+ TS_ASSERT(b);
+
+ d_context->pop();
+
+ b = d_tc->addEdge(4,1);
+
+ TS_ASSERT(!b);
}
+ void test2() {
+ bool b;
+ b = d_tc->addEdge(1,2);
+ TS_ASSERT(!b);
+ b = d_tc->addEdge(1,3);
+ TS_ASSERT(!b);
+ b = d_tc->addEdge(1,4);
+ TS_ASSERT(!b);
+ b = d_tc->addEdge(1,5);
+ TS_ASSERT(!b);
+ b = d_tc->addEdge(1,6);
+ TS_ASSERT(!b);
+ b = d_tc->addEdge(1,7);
+ TS_ASSERT(!b);
+ b = d_tc->addEdge(1,8);
+ TS_ASSERT(!b);
+ b = d_tc->addEdge(1,9);
+ TS_ASSERT(!b);
+
+ b = d_tc->addEdge(3,2);
+ TS_ASSERT(!b);
+ b = d_tc->addEdge(4,7);
+ TS_ASSERT(!b);
+
+ b = d_tc->addEdge(2,1);
+ TS_ASSERT(b);
+ b = d_tc->addEdge(3,1);
+ TS_ASSERT(b);
+ b = d_tc->addEdge(4,1);
+ TS_ASSERT(b);
+ b = d_tc->addEdge(5,1);
+ TS_ASSERT(b);
+ b = d_tc->addEdge(6,1);
+ TS_ASSERT(b);
+ b = d_tc->addEdge(7,1);
+ TS_ASSERT(b);
+ b = d_tc->addEdge(8,1);
+ TS_ASSERT(b);
+ b = d_tc->addEdge(9,1);
+ TS_ASSERT(b);
+ }
};/* class TransitiveClosureBlack */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback