diff options
author | Abseil Team <absl-team@google.com> | 2023-12-19 10:19:12 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2023-12-19 10:20:04 -0800 |
commit | 46223c8620c98be44628037e0a21c56182bf4f64 (patch) | |
tree | 2d45061b25240c4b03821669196548477ffaa778 /absl/container/internal/raw_hash_set_test.cc | |
parent | 78c2f64873cdff76f6790413b98ed47937b7f2c4 (diff) | |
download | abseil-46223c8620c98be44628037e0a21c56182bf4f64.tar.gz abseil-46223c8620c98be44628037e0a21c56182bf4f64.tar.bz2 abseil-46223c8620c98be44628037e0a21c56182bf4f64.zip |
Refactor `EraseMetaOnly` to speed up single group tables.
PiperOrigin-RevId: 592272653
Change-Id: I895c5786555227bdc88ab0a4cce8cf5ba65222a1
Diffstat (limited to 'absl/container/internal/raw_hash_set_test.cc')
-rw-r--r-- | absl/container/internal/raw_hash_set_test.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/absl/container/internal/raw_hash_set_test.cc b/absl/container/internal/raw_hash_set_test.cc index ab3b8f9f..fe000742 100644 --- a/absl/container/internal/raw_hash_set_test.cc +++ b/absl/container/internal/raw_hash_set_test.cc @@ -653,6 +653,23 @@ TEST(Table, InsertCollisionAndFindAfterDelete) { EXPECT_TRUE(t.empty()); } +TEST(Table, EraseInSmallTables) { + for (int64_t size = 0; size < 64; ++size) { + IntTable t; + for (int64_t i = 0; i < size; ++i) { + t.insert(i); + } + for (int64_t i = 0; i < size; ++i) { + t.erase(i); + EXPECT_EQ(t.size(), size - i - 1); + for (int64_t j = i + 1; j < size; ++j) { + EXPECT_THAT(*t.find(j), j); + } + } + EXPECT_TRUE(t.empty()); + } +} + TEST(Table, InsertWithinCapacity) { IntTable t; t.reserve(10); |