summaryrefslogtreecommitdiff
path: root/test/unit/context/context_black.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2010-03-05 08:26:37 +0000
committerMorgan Deters <mdeters@gmail.com>2010-03-05 08:26:37 +0000
commit88b52c971b43248e6ceacf1c8140a06427d0418d (patch)
tree4ee443c898a858fcdd658f3f043e4180eddd8784 /test/unit/context/context_black.h
parent29cc307cdf2c42bebf4f5615874a864783f47fd0 (diff)
* public/private code untangled (smt/smt_engine.h no longer #includes
expr/node.h). This removes the warnings we had during compilation, and heads off a number of potential linking errors due to improper inlining of private (library-only) stuff in client (out-of-library) code. * "configure" now takes some options as part of a "bare-option" build type (e.g., "./configure debug-coverage" or "./configure production-muzzle"). * split cdo.h, cdlist.h, cdmap.h, and cdset.h from context.h * split cdlist_black unit test from context_black * implement CDMap<>. * give ExprManagers ownership of the context (and have SmtEngine share that one) * fix main driver to properly report file-not-found * fix MemoryMappedInputBuffer class to report reasons for "errno"-returned system errors * src/expr/attribute.h: context-dependent attribute kinds now supported * test/unit/expr/node_white.h: context-dependent attribute tests * src/prop/cnf_conversion.h and associated parts of src/util/options.h and src/main/getopt.cpp: obsolete command-line option, removed. * src/util/Assert.h: assertions are now somewhat more useful (in debug builds, anyway) during stack unwinding. * test/unit/theory/theory_black.h: test context-dependent behavior of registerTerm() attribute for theories * src/expr/node_builder.h: formatting, fixes for arithmetic convenience node builders, check memory allocations * test/unit/expr/node_builder_black.h: add tessts for addition, subtraction, unary minus, and multiplication convenience node builders * src/expr/attribute.h: more comments * (various) code formatting, comment cleanup, added throws specifier to some destructors * contrib/code-checker: prototype perl script to test (some) code policy * contrib/indent-settings: command line for GNU indent to indent using CVC4 style (sort of; this is a work in progress) * COPYING: legal stuff * DESIGN_QUESTIONS: obsolete, removed
Diffstat (limited to 'test/unit/context/context_black.h')
-rw-r--r--test/unit/context/context_black.h45
1 files changed, 8 insertions, 37 deletions
diff --git a/test/unit/context/context_black.h b/test/unit/context/context_black.h
index 64ad2d7f7..f06ed9f42 100644
--- a/test/unit/context/context_black.h
+++ b/test/unit/context/context_black.h
@@ -10,17 +10,20 @@
** See the file COPYING in the top-level source directory for licensing
** information.
**
- ** Black box testing of CVC4::Node.
+ ** Black box testing of CVC4::context::Context.
**/
#include <cxxtest/TestSuite.h>
-//Used in some of the tests
#include <vector>
#include <iostream>
#include "context/context.h"
+#include "context/cdlist.h"
+#include "context/cdo.h"
+#include "util/Assert.h"
using namespace std;
+using namespace CVC4;
using namespace CVC4::context;
class ContextBlack : public CxxTest::TestSuite {
@@ -31,7 +34,7 @@ private:
public:
void setUp() {
- d_context = new Context();
+ d_context = new Context;
}
void testIntCDO() {
@@ -53,40 +56,8 @@ public:
// the interface doesn't declare any exceptions
d_context->push();
d_context->pop();
-// d_context->pop();
-// d_context->pop();
- }
-
- // test at different sizes. this triggers grow() behavior differently.
- // grow() is completely broken in revision 256; fix forthcoming by Tim
- void testCDList10() { listTest(10); }
- void testCDList15() { listTest(15); }
- void testCDList20() { listTest(20); }
- void testCDList35() { listTest(35); }
- void testCDList50() { listTest(50); }
- void testCDList99() { listTest(99); }
-
- void listTest(int N) {
- CDList<int> list(d_context);
-
- TS_ASSERT(list.empty());
- for(int i = 0; i < N; ++i) {
- TS_ASSERT(list.size() == i);
- list.push_back(i);
- TS_ASSERT(!list.empty());
- TS_ASSERT(list.back() == i);
- int i2 = 0;
- for(CDList<int>::const_iterator j = list.begin();
- j != list.end();
- ++j) {
- TS_ASSERT(*j == i2++);
- }
- }
- TS_ASSERT(list.size() == N);
-
- for(int i = 0; i < N; ++i) {
- TS_ASSERT(list[i] == i);
- }
+ TS_ASSERT_THROWS( d_context->pop(), AssertionException );
+ TS_ASSERT_THROWS( d_context->pop(), AssertionException );
}
void tearDown() {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback