From fb8c93b8273647234690b5f02f0ef818d17944c0 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Fri, 20 Oct 2017 14:28:49 -0700 Subject: [PATCH] Add test cases --- src/Test/constraint.cc | 21 +++++++++++++++++++++ src/Test/graphtest.cc | 19 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/Test/constraint.cc create mode 100644 src/Test/graphtest.cc diff --git a/src/Test/constraint.cc b/src/Test/constraint.cc new file mode 100644 index 0000000..60dd586 --- /dev/null +++ b/src/Test/constraint.cc @@ -0,0 +1,21 @@ +#include "csolver.h" + +int main(int numargs, char **argv) { + CSolver *solver = new CSolver(); + uint64_t elements[]={0, 1}; + Set * s = solver->createSet(1, elements, 2); + Element * e1=solver->getElementVar(s); + Element * e2=solver->getElementVar(s); + Set * sarray[]={s, s}; + Predicate *p=solver->createPredicateOperator(SATC_LT, sarray, 2); + Element *earray[]={e1, e2}; + BooleanEdge be=solver->applyPredicate(p, earray, 2); + solver->addConstraint(be); + + if (solver->solve() == 1) { + printf("SAT\n"); + } else { + printf("UNSAT\n"); + } + delete solver; +} diff --git a/src/Test/graphtest.cc b/src/Test/graphtest.cc new file mode 100644 index 0000000..976ce60 --- /dev/null +++ b/src/Test/graphtest.cc @@ -0,0 +1,19 @@ +#include "csolver.h" + +int main(int numargs, char **argv) { + CSolver *solver = new CSolver(); + uint64_t set1[] = {1, 2, 3}; + Set *s = solver->createSet(0, set1, 3); + Order *order = solver->createOrder(SATC_TOTAL, s); + BooleanEdge b12 = solver->orderConstraint(order, 1, 2); + solver->addConstraint(b12); + BooleanEdge b23 = solver->orderConstraint(order, 2, 3); + solver->addConstraint(b23); + + if (solver->solve() == 1) { + printf("SAT\n"); + } else { + printf("UNSAT\n"); + } + delete solver; +} -- 2.34.1