diff options
author | Tim King <taking@google.com> | 2017-07-14 16:56:11 -0700 |
---|---|---|
committer | Tim King <taking@cs.nyu.edu> | 2017-07-19 18:25:13 -0700 |
commit | d70a63324c95210f1d78c2efc46395d2369d2e2b (patch) | |
tree | 5f1ce222cb3940eb427e3c80544b405479ac02ab /test/unit/context | |
parent | 7fd11d0df4c257a916e93c3f44238f1d3f70f721 (diff) |
Removing the unused CDAttribute. This makes CDHashMap::obliterate unused. Removing it as well.
Diffstat (limited to 'test/unit/context')
-rw-r--r-- | test/unit/context/cdmap_black.h | 836 |
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}})); } }; |