summaryrefslogtreecommitdiff
path: root/icespider/unittests/testFlatMap.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-09-05 02:45:49 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2021-12-17 15:36:04 +0000
commit38fce0ed44faf5757e195e4025b7bf22b6331aa2 (patch)
tree39acc1cae0136cfe6c32f3f8121b7084bbcc59de /icespider/unittests/testFlatMap.cpp
parentAdd contains to flatmap (diff)
downloadicespider-38fce0ed44faf5757e195e4025b7bf22b6331aa2.tar.bz2
icespider-38fce0ed44faf5757e195e4025b7bf22b6331aa2.tar.xz
icespider-38fce0ed44faf5757e195e4025b7bf22b6331aa2.zip
Add at to flatmap
Diffstat (limited to 'icespider/unittests/testFlatMap.cpp')
-rw-r--r--icespider/unittests/testFlatMap.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/icespider/unittests/testFlatMap.cpp b/icespider/unittests/testFlatMap.cpp
index c2fcea4..06404ac 100644
--- a/icespider/unittests/testFlatMap.cpp
+++ b/icespider/unittests/testFlatMap.cpp
@@ -27,7 +27,9 @@ BOOST_AUTO_TEST_CASE(single)
BOOST_CHECK(!empty());
BOOST_CHECK(!contains(""));
BOOST_CHECK(contains("a"));
+ BOOST_CHECK_EQUAL(at("a"), 1);
BOOST_CHECK(!contains("b"));
+ BOOST_CHECK_THROW(at("b"), std::out_of_range);
BOOST_CHECK_EQUAL(begin()->first, "a");
BOOST_CHECK_EQUAL(begin()->second, 1);
BOOST_CHECK_EQUAL(find("a"), begin());
@@ -62,3 +64,41 @@ BOOST_AUTO_TEST_CASE(several)
}
BOOST_AUTO_TEST_SUITE_END()
+
+using TMI = IceSpider::flatmap<int, std::string_view>;
+
+BOOST_TEST_DONT_PRINT_LOG_VALUE(TMI::iterator)
+BOOST_TEST_DONT_PRINT_LOG_VALUE(TMI::const_iterator)
+
+BOOST_FIXTURE_TEST_SUITE(int2sv, TMI)
+
+BOOST_AUTO_TEST_CASE(several)
+{
+ insert({3, "c"});
+ BOOST_CHECK_EQUAL(lower_bound(1), begin());
+
+ insert({1, "a"});
+ BOOST_CHECK_EQUAL(begin()->first, 1);
+
+ insert({6, "f"});
+
+ BOOST_CHECK_EQUAL(size(), 3);
+ BOOST_CHECK(!empty());
+ BOOST_CHECK(!contains(0));
+ BOOST_CHECK(contains(1));
+ BOOST_CHECK_EQUAL(at(1), "a");
+ BOOST_CHECK(!contains(2));
+ BOOST_CHECK_THROW(at(2), std::out_of_range);
+ BOOST_CHECK(contains(3));
+ BOOST_CHECK(contains(6));
+ BOOST_CHECK_EQUAL(begin()->first, 1);
+ BOOST_CHECK_EQUAL(begin()->second, "a");
+ BOOST_CHECK_EQUAL(find(1), begin());
+ BOOST_CHECK_EQUAL(find(2), end());
+ BOOST_CHECK_NE(find(3), end());
+ BOOST_CHECK_EQUAL(find(3)->second, "c");
+ BOOST_CHECK_NE(find(6), end());
+ BOOST_CHECK_EQUAL(find(6)->second, "f");
+}
+
+BOOST_AUTO_TEST_SUITE_END()