From 5fd60b88039db85c79eb389c072b6d7779e56cfa Mon Sep 17 00:00:00 2001 From: Arthur O'Dwyer Date: Sun, 17 Feb 2019 00:56:58 -0500 Subject: [PATCH] slot_map tests: Exercise operator[], at(), and find_unchecked(). Thanks to @p-groake's #145 for the suggestion. --- SG14_test/slot_map_test.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/SG14_test/slot_map_test.cpp b/SG14_test/slot_map_test.cpp index a8727c90..58bd839b 100644 --- a/SG14_test/slot_map_test.cpp +++ b/SG14_test/slot_map_test.cpp @@ -155,7 +155,11 @@ static void BasicTests(T t1, T t2) assert(num_removed == 1); assert(sm.size() == 1); assert(sm.find(k1) == sm.end()); // find an expired key + try { (void)sm.at(k1); assert(false); } catch (const std::out_of_range&) {} assert(sm.find(k2) == sm.begin()); // find a non-expired key + assert(sm.at(k2) == *sm.begin()); + assert(sm.find_unchecked(k2) == sm.begin()); + assert(sm[k2] == *sm.begin()); assert(sm.erase(k1) == 0); // erase an expired key sm.swap(sm2); assert(sm.empty()); @@ -181,6 +185,7 @@ static void FullContainerStressTest(TGen t) for (int i = 0; i < total; ++i) { assert(sm.size() == static_cast(total - i)); assert(sm.find(keys[i]) != sm.end()); + assert(sm.find_unchecked(keys[i]) != sm.end()); for (int j = 0; j < i; ++j) { assert(sm.find(keys[j]) == sm.end()); }