aboutsummaryrefslogtreecommitdiff
path: root/absl/container/internal/raw_hash_set_test.cc
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2023-12-19 10:19:12 -0800
committerCopybara-Service <copybara-worker@google.com>2023-12-19 10:20:04 -0800
commit46223c8620c98be44628037e0a21c56182bf4f64 (patch)
tree2d45061b25240c4b03821669196548477ffaa778 /absl/container/internal/raw_hash_set_test.cc
parent78c2f64873cdff76f6790413b98ed47937b7f2c4 (diff)
downloadabseil-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.cc17
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);