6 #include <gtest/gtest.h>
12 #include <unordered_set>
15 TEST(IteratorWrapperTests, TestPtrVector)
21 std::vector<int *> ints = { &a, &b, &c };
25 ItType it(ints.begin());
30 EXPECT_NE(it, ItType(ints.end()));
32 EXPECT_EQ(it, ItType(ints.end()));
36 for (
auto & i : range)
47 TEST(IteratorWrapperTests, TestPtrUnorderedSet)
53 std::unordered_set<int *> set = { &a, &b, &c };
58 for (
auto & i : range)
69 TEST(IteratorWrapperTests, TestUniquePtrVector)
72 std::vector<std::unique_ptr<int>> vector;
73 vector.emplace_back(std::make_unique<int>(10));
74 vector.emplace_back(std::make_unique<int>(20));
75 vector.emplace_back(std::make_unique<int>(30));
82 for (
auto & i : range)
88 EXPECT_EQ(*vector[0], 11);
89 EXPECT_EQ(*vector[1], 21);
90 EXPECT_EQ(*vector[2], 31);
93 TEST(IteratorWrapperTests, TestMapValuePtr)
96 std::unordered_map<size_t, std::unique_ptr<int>> map;
97 map.insert({ 1, std::make_unique<int>(10) });
98 map.insert({ 2, std::make_unique<int>(20) });
99 map.insert({ 3, std::make_unique<int>(30) });
106 for (
auto & i : range)
112 EXPECT_EQ(*map[1], 11);
113 EXPECT_EQ(*map[2], 21);
114 EXPECT_EQ(*map[3], 31);
TEST(IteratorWrapperTests, TestPtrVector)