summaryrefslogtreecommitdiff
path: root/test/unit/context/cdmap_black.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/context/cdmap_black.h')
-rw-r--r--test/unit/context/cdmap_black.h836
1 files changed, 64 insertions, 772 deletions
diff --git a/test/unit/context/cdmap_black.h b/test/unit/context/cdmap_black.h
index 1b9e1fa7b..d0db0cc0f 100644
--- a/test/unit/context/cdmap_black.h
+++ b/test/unit/context/cdmap_black.h
@@ -16,178 +16,97 @@
#include <cxxtest/TestSuite.h>
+#include <map>
+
+#include "base/cvc4_assert.h"
+#include "context/context.h"
#include "context/cdhashmap.h"
#include "context/cdlist.h"
-using namespace std;
-using namespace CVC4;
-using namespace CVC4::context;
+using CVC4::AssertionException;
+using CVC4::context::Context;
+using CVC4::context::CDHashMap;
class CDMapBlack : public CxxTest::TestSuite {
-
Context* d_context;
-public:
-
+ public:
void setUp() {
d_context = new Context;
- //Debug.on("context");
- //Debug.on("gc");
- //Debug.on("pushpop");
+ // Debug.on("context");
+ // Debug.on("gc");
+ // Debug.on("pushpop");
}
- void tearDown() {
- delete d_context;
+ void tearDown() { delete d_context; }
+
+ // Returns the elements in a CDHashMap.
+ static std::map<int, int> GetElements(const CDHashMap<int, int>& map) {
+ return std::map<int, int>{map.begin(), map.end()};
+ }
+
+ // Returns true if the elements in map are the same as expected.
+ // NOTE: This is mostly to help the type checker for matching expected within
+ // a TS_ASSERT.
+ static bool ElementsAre(const CDHashMap<int, int>& map,
+ const std::map<int, int>& expected) {
+ return GetElements(map) == expected;
}
void testSimpleSequence() {
CDHashMap<int, int> map(d_context);
-
- TS_ASSERT(map.find(3) == map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
+ TS_ASSERT(ElementsAre(map, {}));
map.insert(3, 4);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
+ TS_ASSERT(ElementsAre(map, {{3, 4}}));
{
d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
+ TS_ASSERT(ElementsAre(map, {{3, 4}}));
map.insert(5, 6);
map.insert(9, 8);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
+ TS_ASSERT(ElementsAre(map, {{3, 4}, {5, 6}, {9, 8}}));
{
d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
+ TS_ASSERT(ElementsAre(map, {{3, 4}, {5, 6}, {9, 8}}));
map.insert(1, 2);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
+ TS_ASSERT(ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}}));
{
d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
+ TS_ASSERT(ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}}));
map.insertAtContextLevelZero(23, 317);
map.insert(1, 45);
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 45);
- TS_ASSERT(map[23] == 317);
-
+ TS_ASSERT(
+ ElementsAre(map, {{1, 45}, {3, 4}, {5, 6}, {9, 8}, {23, 317}}));
map.insert(23, 324);
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 45);
- TS_ASSERT(map[23] == 324);
-
+ TS_ASSERT(
+ ElementsAre(map, {{1, 45}, {3, 4}, {5, 6}, {9, 8}, {23, 324}}));
d_context->pop();
}
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 317);
-
+ TS_ASSERT(
+ ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}, {23, 317}}));
d_context->pop();
}
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[23] == 317);
-
+ TS_ASSERT(ElementsAre(map, {{3, 4}, {5, 6}, {9, 8}, {23, 317}}));
d_context->pop();
}
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[23] == 317);
+ TS_ASSERT(ElementsAre(map, {{3, 4}, {23, 317}}));
}
// no intervening find() in this one
// (under the theory that this could trigger a bug)
void testSimpleSequenceFewerFinds() {
CDHashMap<int, int> map(d_context);
-
map.insert(3, 4);
{
@@ -201,18 +120,9 @@ public:
map.insert(1, 2);
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(7) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[5] == 6);
-
+ TS_ASSERT(ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}}));
{
d_context->push();
-
d_context->pop();
}
@@ -223,416 +133,34 @@ public:
}
}
- void testObliterate() {
- CDHashMap<int, int> map(d_context);
-
- map.insert(3, 4);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
-
- map.insert(5, 6);
- map.insert(9, 8);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- map.insertAtContextLevelZero(23, 317);
- map.insert(1, 2);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 317);
-
- map.obliterate(5);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 317);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 317);
-
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 317);
-
- map.obliterate(23);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
-
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[9] == 8);
-
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- }
-
- void testObliteratePrimordial() {
- CDHashMap<int, int> map(d_context);
-
- map.insert(3, 4);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
-
- map.insert(5, 6);
- map.insert(9, 8);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- map.insert(1, 2);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
-
- map.obliterate(3);
-
- TS_ASSERT(map.find(3) == map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) == map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
-
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) == map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
-
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) == map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) == map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- }
-
- void testObliterateCurrent() {
- CDHashMap<int, int> map(d_context);
-
- map.insert(3, 4);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
-
- map.insert(5, 6);
- map.insert(9, 8);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- map.insert(1, 2);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
-
- map.obliterate(1);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map[3] == 4);
- }
-
void testInsertAtContextLevelZero() {
CDHashMap<int, int> map(d_context);
map.insert(3, 4);
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
-
+ TS_ASSERT(ElementsAre(map, {{3, 4}}));
{
d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
+ TS_ASSERT(ElementsAre(map, {{3, 4}}));
map.insert(5, 6);
map.insert(9, 8);
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
+ TS_ASSERT(ElementsAre(map, {{3, 4}, {5, 6}, {9, 8}}));
{
d_context->push();
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
+ TS_ASSERT(ElementsAre(map, {{3, 4}, {5, 6}, {9, 8}}));
map.insert(1, 2);
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
+ TS_ASSERT(ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}}));
map.insertAtContextLevelZero(23, 317);
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 317);
+ TS_ASSERT(
+ ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}, {23, 317}}));
TS_ASSERT_THROWS(map.insertAtContextLevelZero(23, 317),
AssertionException);
@@ -640,278 +168,42 @@ public:
AssertionException);
map.insert(23, 472);
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 472);
-
+ TS_ASSERT(
+ ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}, {23, 472}}));
{
d_context->push();
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 472);
+ TS_ASSERT(
+ ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}, {23, 472}}));
TS_ASSERT_THROWS(map.insertAtContextLevelZero(23, 0),
AssertionException);
map.insert(23, 1024);
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 1024);
-
+ TS_ASSERT(
+ ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}, {23, 1024}}));
d_context->pop();
}
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 472);
-
+ TS_ASSERT(
+ ElementsAre(map, {{1, 2}, {3, 4}, {5, 6}, {9, 8}, {23, 472}}));
d_context->pop();
}
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[23] == 317);
-
- TS_ASSERT_THROWS(map.insertAtContextLevelZero(23, 0),
- AssertionException);
- map.insert(23, 477);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[23] == 477);
-
- d_context->pop();
- }
-
- TS_ASSERT_THROWS(map.insertAtContextLevelZero(23, 0),
- AssertionException);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[23] == 317);
- }
-
- void testObliterateInsertedAtContextLevelZero() {
- CDHashMap<int, int> map(d_context);
-
- map.insert(3, 4);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
-
- map.insert(5, 6);
- map.insert(9, 8);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- map.insert(1, 2);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
-
- map.insertAtContextLevelZero(23, 317);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 317);
-
- TS_ASSERT_THROWS(map.insertAtContextLevelZero(23, 317),
- AssertionException);
- TS_ASSERT_THROWS(map.insertAtContextLevelZero(23, 472),
- AssertionException);
- map.insert(23, 472);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 472);
-
- {
- d_context->push();
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 472);
-
- TS_ASSERT_THROWS(map.insertAtContextLevelZero(23, 0),
- AssertionException);
- map.insert(23, 1024);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 1024);
-
- d_context->pop();
- }
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
- TS_ASSERT(map[23] == 472);
-
- map.obliterate(23);
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) != map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[1] == 2);
+ TS_ASSERT(
+ ElementsAre(map, {{3, 4}, {5, 6}, {9, 8}, {23, 317}}));
- d_context->pop();
- }
-
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
-
- // reinsert as a normal map entry
+ TS_ASSERT_THROWS(map.insertAtContextLevelZero(23, 0), AssertionException);
map.insert(23, 477);
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) != map.end());
- TS_ASSERT(map.find(9) != map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) != map.end());
- TS_ASSERT(map[3] == 4);
- TS_ASSERT(map[5] == 6);
- TS_ASSERT(map[9] == 8);
- TS_ASSERT(map[23] == 477);
-
+ TS_ASSERT(
+ ElementsAre(map, {{3, 4}, {5, 6}, {9, 8}, {23, 477}}));
d_context->pop();
}
- TS_ASSERT(map.find(3) != map.end());
- TS_ASSERT(map.find(5) == map.end());
- TS_ASSERT(map.find(9) == map.end());
- TS_ASSERT(map.find(1) == map.end());
- TS_ASSERT(map.find(23) == map.end());
- TS_ASSERT(map[3] == 4);
+ TS_ASSERT_THROWS(map.insertAtContextLevelZero(23, 0), AssertionException);
+
+ TS_ASSERT(
+ ElementsAre(map, {{3, 4}, {23, 317}}));
}
};
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback