Home | History | Annotate | Download | only in base

Lines Matching full:hash_set

17 #include "hash_set.h"
67 HashSet<std::string, IsEmptyFnString> hash_set;
69 ASSERT_TRUE(hash_set.Empty());
70 ASSERT_EQ(hash_set.Size(), 0U);
71 hash_set.Insert(test_string);
72 auto it = hash_set.Find(test_string);
74 auto after_it = hash_set.Erase(it);
75 ASSERT_TRUE(after_it == hash_set.end());
76 ASSERT_TRUE(hash_set.Empty());
77 ASSERT_EQ(hash_set.Size(), 0U);
78 it = hash_set.Find(test_string);
79 ASSERT_TRUE(it == hash_set.end());
83 HashSet<std::string, IsEmptyFnString> hash_set;
89 hash_set.Insert(strings[i]);
90 auto it = hash_set.Find(strings[i]);
91 ASSERT_TRUE(it != hash_set.end());
94 ASSERT_EQ(strings.size(), hash_set.Size());
97 auto it = hash_set.Find(strings[i]);
98 ASSERT_TRUE(it != hash_set.end());
100 hash_set.Erase(it);
104 auto it = hash_set.Find(strings[i]);
105 ASSERT_TRUE(it == hash_set.end());
108 auto it = hash_set.Find(strings[i]);
109 ASSERT_TRUE(it != hash_set.end());
115 HashSet<std::string, IsEmptyFnString> hash_set;
116 ASSERT_TRUE(hash_set.begin() == hash_set.end());
122 hash_set.Insert(strings[i]);
126 for (const std::string& s : hash_set) {
134 for (auto it = hash_set.begin(); it != hash_set.end();) {
136 it = hash_set.Erase(it);
137 ASSERT_EQ(hash_set.Verify(), 0U);
162 HashSet<std::string, IsEmptyFnString> hash_set;
166 hash_set.Insert(strings[i]);
169 hash_set.ShrinkToMaximumLoad();
170 const double initial_load = hash_set.CalculateLoadFactor();
177 hash_set.Insert(random_strings[i]);
182 hash_set.Erase(hash_set.Find(random_strings[i]));
185 const double bad_load = hash_set.CalculateLoadFactor();
189 hash_set.ShrinkToMaximumLoad();
190 EXPECT_DOUBLE_EQ(initial_load, hash_set.CalculateLoadFactor());
194 EXPECT_NE(hash_set.end(), hash_set.Find(initial_string))
200 HashSet<std::string, IsEmptyFnString> hash_set;
204 hash_set.Insert(RandomString(i % 10 + 1));
207 EXPECT_GE(hash_set.CalculateLoadFactor() + kEpsilon, hash_set.GetMinLoadFactor());
208 EXPECT_LE(hash_set.CalculateLoadFactor() - kEpsilon, hash_set.GetMaxLoadFactor());
209 hash_set.SetLoadFactor(0.1, 0.3);
210 EXPECT_DOUBLE_EQ(0.1, hash_set.GetMinLoadFactor());
211 EXPECT_DOUBLE_EQ(0.3, hash_set.GetMaxLoadFactor());
212 EXPECT_LE(hash_set.CalculateLoadFactor() - kEpsilon, hash_set.GetMaxLoadFactor());
213 hash_set.SetLoadFactor(0.6, 0.8);
214 EXPECT_LE(hash_set.CalculateLoadFactor() - kEpsilon, hash_set.GetMaxLoadFactor());
218 HashSet<std::string, IsEmptyFnString> hash_set;
231 ASSERT_EQ(hash_set.Size(), std_set.size());
233 static_cast<ssize_t>(hash_set.Size()));
236 hash_set.Clear();
238 ASSERT_TRUE(hash_set.Empty());
243 hash_set.Insert(s);
245 ASSERT_EQ(*hash_set.Find(s), *std_set.find(s));
248 auto it1 = hash_set.Find(s);
250 ASSERT_EQ(it1 == hash_set.end(), it2 == std_set.end());
251 if (it1 != hash_set.end()) {
253 hash_set.Erase(it1);
327 HashSet<std::vector<int>, IsEmptyFnVectorInt, VectorIntHashEquals, VectorIntHashEquals> hash_set;
328 hash_set.Insert(std::vector<int>({1, 2, 3, 4}));
329 hash_set.Insert(std::vector<int>({4, 2}));
330 ASSERT_EQ(hash_set.end(), hash_set.Find(std::vector<int>({1, 1, 1, 1})));
331 ASSERT_NE(hash_set.end(), hash_set.Find(std::vector<int>({1, 2, 3, 4})));
332 ASSERT_EQ(hash_set.end(), hash_set.Find(std::forward_list<int>({1, 1, 1, 1})));
333 ASSERT_NE(hash_set.end(), hash_set.Find(std::forward_list<int>({1, 2, 3, 4})));
337 HashSet<std::string, IsEmptyFnString> hash_set;
340 hash_set.Reserve(size);
341 const size_t buckets_before = hash_set.NumBuckets();
343 CHECK_GE(hash_set.ElementsUntilExpand(), size);
346 while (hash_set.Size() < size) {
347 hash_set.Insert(std::to_string(hash_set.Size()));
349 CHECK_EQ(hash_set.NumBuckets(), buckets_before);
353 hash_set.Reserve(size);
354 CHECK_GE(hash_set.ElementsUntilExpand(), size);