| 127 | } // namespace |
| 128 | |
| 129 | TEST(TestThinHashTable, ThinHashSet) { |
| 130 | ThinHashSet<int> set; |
| 131 | ASSERT_EQ(0u, set.size()); |
| 132 | ASSERT_EQ(true, set.empty()); |
| 133 | set.insert(2); |
| 134 | set.insert(3); |
| 135 | ASSERT_EQ(1u, set.count(2)); |
| 136 | ASSERT_EQ(1u, set.count(3)); |
| 137 | ASSERT_EQ(0u, set.count(1)); |
| 138 | ASSERT_EQ(2u, set.size()); |
| 139 | ASSERT_FALSE(set.empty()); |
| 140 | |
| 141 | std::vector<int> get; |
| 142 | for (int i : set) |
| 143 | get.push_back(i); |
| 144 | ASSERT_EQ(2u, get.size()); |
| 145 | |
| 146 | set.emplace(4); |
| 147 | // set: {2, 3, 4} |
| 148 | ASSERT_EQ(0u, set.erase(0)); |
| 149 | ASSERT_EQ(1u, set.erase(3)); |
| 150 | ASSERT_EQ(2u, set.size()); |
| 151 | set.erase(set.find(4)); |
| 152 | ASSERT_EQ(1u, set.size()); |
| 153 | ASSERT_EQ(2, *set.begin()); |
| 154 | |
| 155 | set.clear(); |
| 156 | ASSERT_TRUE(set.empty()); |
| 157 | } |
| 158 | |
| 159 | TEST(TestThinHashTable, InitializerList) { |
| 160 | ThinHashMap<int, int> m{{1, 2}, {3, 4}}; |