diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-09-05 02:45:49 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-12-17 15:36:04 +0000 |
commit | 38fce0ed44faf5757e195e4025b7bf22b6331aa2 (patch) | |
tree | 39acc1cae0136cfe6c32f3f8121b7084bbcc59de /icespider/unittests/testFlatMap.cpp | |
parent | Add contains to flatmap (diff) | |
download | icespider-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.cpp | 40 |
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() |