summaryrefslogtreecommitdiffstats
path: root/storage/src/tests/bucketdb/judymultimaptest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'storage/src/tests/bucketdb/judymultimaptest.cpp')
-rw-r--r--storage/src/tests/bucketdb/judymultimaptest.cpp118
1 files changed, 49 insertions, 69 deletions
diff --git a/storage/src/tests/bucketdb/judymultimaptest.cpp b/storage/src/tests/bucketdb/judymultimaptest.cpp
index 43b83b16dec..254dbb78b18 100644
--- a/storage/src/tests/bucketdb/judymultimaptest.cpp
+++ b/storage/src/tests/bucketdb/judymultimaptest.cpp
@@ -2,31 +2,15 @@
#include <vespa/storage/bucketdb/judymultimap.h>
#include <vespa/storage/bucketdb/judymultimap.hpp>
-#include <vespa/vdstestlib/cppunit/macros.h>
-#include <boost/assign.hpp>
-#include <boost/random.hpp>
-#include <cppunit/extensions/HelperMacros.h>
+#include <vespa/vespalib/gtest/gtest.h>
#include <map>
#include <ostream>
#include <vector>
-#include <vespa/log/log.h>
-LOG_SETUP(".judy_multi_map_test");
+using namespace ::testing;
namespace storage {
-struct JudyMultiMapTest : public CppUnit::TestFixture {
- void testSimpleUsage();
- void testIterator();
-
- CPPUNIT_TEST_SUITE(JudyMultiMapTest);
- CPPUNIT_TEST(testSimpleUsage);
- CPPUNIT_TEST(testIterator);
- CPPUNIT_TEST_SUITE_END();
-};
-
-CPPUNIT_TEST_SUITE_REGISTRATION(JudyMultiMapTest);
-
namespace {
struct B;
struct C;
@@ -84,48 +68,44 @@ namespace {
}
}
-void
-JudyMultiMapTest::testSimpleUsage() {
+TEST(JudyMultiMapTest, simple_usage) {
typedef JudyMultiMap<C, B, A> MultiMap;
MultiMap multiMap;
- // Do some insertions
+ // Do some insertions
bool preExisted;
- CPPUNIT_ASSERT(multiMap.empty());
+ EXPECT_TRUE(multiMap.empty());
multiMap.insert(16, A(1, 2, 3), preExisted);
- CPPUNIT_ASSERT_EQUAL(false, preExisted);
+ EXPECT_EQ(false, preExisted);
multiMap.insert(11, A(4, 6, 0), preExisted);
- CPPUNIT_ASSERT_EQUAL(false, preExisted);
+ EXPECT_EQ(false, preExisted);
multiMap.insert(14, A(42, 0, 0), preExisted);
- CPPUNIT_ASSERT_EQUAL(false, preExisted);
- CPPUNIT_ASSERT_EQUAL_MSG(multiMap.toString(),
- (MultiMap::size_type) 3, multiMap.size());
+ EXPECT_EQ(false, preExisted);
+ EXPECT_EQ((MultiMap::size_type) 3, multiMap.size()) << multiMap.toString();
multiMap.insert(11, A(4, 7, 0), preExisted);
- CPPUNIT_ASSERT_EQUAL(true, preExisted);
- CPPUNIT_ASSERT_EQUAL((MultiMap::size_type) 3, multiMap.size());
- CPPUNIT_ASSERT(!multiMap.empty());
-
- // Access some elements
- CPPUNIT_ASSERT_EQUAL(A(4, 7, 0), multiMap[11]);
- CPPUNIT_ASSERT_EQUAL(A(1, 2, 3), multiMap[16]);
- CPPUNIT_ASSERT_EQUAL(A(42,0, 0), multiMap[14]);
-
- // Do removes
- CPPUNIT_ASSERT(multiMap.erase(12) == 0);
- CPPUNIT_ASSERT_EQUAL((MultiMap::size_type) 3, multiMap.size());
-
- CPPUNIT_ASSERT(multiMap.erase(14) == 1);
- CPPUNIT_ASSERT_EQUAL((MultiMap::size_type) 2, multiMap.size());
-
- CPPUNIT_ASSERT(multiMap.erase(11) == 1);
- CPPUNIT_ASSERT(multiMap.erase(16) == 1);
- CPPUNIT_ASSERT_EQUAL((MultiMap::size_type) 0, multiMap.size());
- CPPUNIT_ASSERT(multiMap.empty());
+ EXPECT_EQ(true, preExisted);
+ EXPECT_EQ((MultiMap::size_type) 3, multiMap.size());
+ EXPECT_FALSE(multiMap.empty());
+
+ // Access some elements
+ EXPECT_EQ(A(4, 7, 0), multiMap[11]);
+ EXPECT_EQ(A(1, 2, 3), multiMap[16]);
+ EXPECT_EQ(A(42,0, 0), multiMap[14]);
+
+ // Do removes
+ EXPECT_EQ(multiMap.erase(12), 0);
+ EXPECT_EQ((MultiMap::size_type) 3, multiMap.size());
+
+ EXPECT_EQ(multiMap.erase(14), 1);
+ EXPECT_EQ((MultiMap::size_type) 2, multiMap.size());
+
+ EXPECT_EQ(multiMap.erase(11), 1);
+ EXPECT_EQ(multiMap.erase(16), 1);
+ EXPECT_EQ((MultiMap::size_type) 0, multiMap.size());
+ EXPECT_TRUE(multiMap.empty());
}
-void
-JudyMultiMapTest::testIterator()
-{
+TEST(JudyMultiMapTest, iterator) {
typedef JudyMultiMap<C, B, A> MultiMap;
MultiMap multiMap;
bool preExisted;
@@ -135,37 +115,37 @@ JudyMultiMapTest::testIterator()
multiMap.insert(14, A(42, 0, 0), preExisted);
MultiMap::Iterator iter = multiMap.begin();
- CPPUNIT_ASSERT_EQUAL((uint64_t)11, (uint64_t)iter.key());
- CPPUNIT_ASSERT_EQUAL(A(4, 6, 0), iter.value());
+ EXPECT_EQ((uint64_t)11, (uint64_t)iter.key());
+ EXPECT_EQ(A(4, 6, 0), iter.value());
++iter;
- CPPUNIT_ASSERT_EQUAL((uint64_t)14, (uint64_t)iter.key());
- CPPUNIT_ASSERT_EQUAL(A(42, 0, 0), iter.value());
+ EXPECT_EQ((uint64_t)14, (uint64_t)iter.key());
+ EXPECT_EQ(A(42, 0, 0), iter.value());
++iter;
- CPPUNIT_ASSERT_EQUAL((uint64_t)16, (uint64_t)iter.key());
- CPPUNIT_ASSERT_EQUAL(A(1, 2, 3), iter.value());
+ EXPECT_EQ((uint64_t)16, (uint64_t)iter.key());
+ EXPECT_EQ(A(1, 2, 3), iter.value());
--iter;
- CPPUNIT_ASSERT_EQUAL((uint64_t)14, (uint64_t)iter.key());
- CPPUNIT_ASSERT_EQUAL(A(42, 0, 0), iter.value());
+ EXPECT_EQ((uint64_t)14, (uint64_t)iter.key());
+ EXPECT_EQ(A(42, 0, 0), iter.value());
++iter;
- CPPUNIT_ASSERT_EQUAL((uint64_t)16, (uint64_t)iter.key());
- CPPUNIT_ASSERT_EQUAL(A(1, 2, 3), iter.value());
+ EXPECT_EQ((uint64_t)16, (uint64_t)iter.key());
+ EXPECT_EQ(A(1, 2, 3), iter.value());
--iter;
--iter;
- CPPUNIT_ASSERT_EQUAL((uint64_t)11,(uint64_t) iter.key());
- CPPUNIT_ASSERT_EQUAL(A(4, 6, 0), iter.value());
+ EXPECT_EQ((uint64_t)11,(uint64_t) iter.key());
+ EXPECT_EQ(A(4, 6, 0), iter.value());
++iter;
++iter;
++iter;
- CPPUNIT_ASSERT_EQUAL(multiMap.end(), iter);
+ EXPECT_EQ(multiMap.end(), iter);
--iter;
- CPPUNIT_ASSERT_EQUAL((uint64_t)16, (uint64_t)iter.key());
- CPPUNIT_ASSERT_EQUAL(A(1, 2, 3), iter.value());
+ EXPECT_EQ((uint64_t)16, (uint64_t)iter.key());
+ EXPECT_EQ(A(1, 2, 3), iter.value());
--iter;
- CPPUNIT_ASSERT_EQUAL((uint64_t)14, (uint64_t)iter.key());
- CPPUNIT_ASSERT_EQUAL(A(42, 0, 0), iter.value());
+ EXPECT_EQ((uint64_t)14, (uint64_t)iter.key());
+ EXPECT_EQ(A(42, 0, 0), iter.value());
--iter;
- CPPUNIT_ASSERT_EQUAL((uint64_t)11,(uint64_t) iter.key());
- CPPUNIT_ASSERT_EQUAL(A(4, 6, 0), iter.value());
+ EXPECT_EQ((uint64_t)11,(uint64_t) iter.key());
+ EXPECT_EQ(A(4, 6, 0), iter.value());
}
} // storage