Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
compact-cuckoo-filter.cc File Reference

Comprehensive tests for Compact_Cuckoo_Filter. More...

#include <gtest/gtest.h>
#include <cuckoo-filter.H>
#include <compact-cuckoo-filter.H>
#include <cstddef>
#include <string>
#include <set>
#include <random>
#include <vector>
#include <algorithm>
Include dependency graph for compact-cuckoo-filter.cc:

Go to the source code of this file.

Functions

 TEST (CompactCuckooFilterCtor, default_construction)
 
 TEST (CompactCuckooFilterCtor, custom_fingerprint_bits)
 
 TEST (CompactCuckooFilterCtor, custom_entries_per_bucket)
 
 TEST (CompactCuckooFilterCtor, memory_usage_is_compact)
 
 TEST (CompactCuckooFilterBasic, insert_and_contains_no_false_negatives)
 
 TEST (CompactCuckooFilterBasic, absent_elements_usually_not_found)
 
 TEST (CompactCuckooFilterBasic, duplicate_insert_stores_twice)
 
 TEST (CompactCuckooFilterBasic, string_keys)
 
 TEST (CompactCuckooFilterBasic, small_fingerprint_bits)
 
 TEST (CompactCuckooFilterBasic, large_fingerprint_bits)
 
 TEST (CompactCuckooFilterDelete, remove_existing_element)
 
 TEST (CompactCuckooFilterDelete, remove_nonexistent_is_noop)
 
 TEST (CompactCuckooFilterDelete, remove_duplicate_removes_one_copy)
 
 TEST (CompactCuckooFilterDelete, insert_after_remove)
 
 TEST (CompactCuckooFilterDelete, interleaved_insert_remove)
 
 TEST (CompactCuckooFilterCapacity, load_factor_computed_correctly)
 
 TEST (CompactCuckooFilterCapacity, high_load_factor_still_works)
 
 TEST (CompactCuckooFilterCapacity, insert_fails_when_full)
 
 TEST (CompactCuckooFilterIntrospection, memory_usage)
 
 TEST (CompactCuckooFilterIntrospection, load_factor)
 
 TEST (CompactCuckooFilterSemantics, copy_preserves_state)
 
 TEST (CompactCuckooFilterSemantics, move_transfers_state)
 
 TEST (CompactCuckooFilterClear, clears_all_state)
 
 TEST (CompactCuckooFilterClear, can_reuse_after_clear)
 
 TEST (CompactCuckooFilterFPRate, empirical_fp_rate_within_bounds)
 
 TEST (CompactCuckooFilterFPRate, low_fp_rate_with_large_fingerprint)
 
 TEST (CompactCuckooFilterStress, random_insertions_and_lookups)
 
 TEST (CompactCuckooFilterStress, sequential_insert_remove_cycles)
 
 TEST (CompactCuckooFilterStress, many_duplicates)
 
 TEST (CompactCuckooFilterEdge, tiny_filter)
 
 TEST (CompactCuckooFilterEdge, minimal_fingerprint_bits)
 
 TEST (CompactCuckooFilterEdge, maximal_fingerprint_bits)
 
 TEST (CompactCuckooFilterEdge, single_entry_per_bucket)
 
 TEST (CompactCuckooFilterComparison, same_behavior_as_standard)
 
 TEST (CompactCuckooFilterComparison, memory_savings_verified)
 
 TEST (CompactCuckooFilterComparison, performance_characteristics)
 

Detailed Description

Comprehensive tests for Compact_Cuckoo_Filter.

Definition in file compact-cuckoo-filter.cc.

Function Documentation

◆ TEST() [1/36]

TEST ( CompactCuckooFilterBasic  ,
absent_elements_usually_not_found   
)

◆ TEST() [2/36]

TEST ( CompactCuckooFilterBasic  ,
duplicate_insert_stores_twice   
)

◆ TEST() [3/36]

TEST ( CompactCuckooFilterBasic  ,
insert_and_contains_no_false_negatives   
)

Definition at line 94 of file compact-cuckoo-filter.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [4/36]

TEST ( CompactCuckooFilterBasic  ,
large_fingerprint_bits   
)

◆ TEST() [5/36]

TEST ( CompactCuckooFilterBasic  ,
small_fingerprint_bits   
)

◆ TEST() [6/36]

TEST ( CompactCuckooFilterBasic  ,
string_keys   
)

◆ TEST() [7/36]

TEST ( CompactCuckooFilterCapacity  ,
high_load_factor_still_works   
)

◆ TEST() [8/36]

TEST ( CompactCuckooFilterCapacity  ,
insert_fails_when_full   
)

◆ TEST() [9/36]

TEST ( CompactCuckooFilterCapacity  ,
load_factor_computed_correctly   
)

◆ TEST() [10/36]

TEST ( CompactCuckooFilterClear  ,
can_reuse_after_clear   
)

◆ TEST() [11/36]

TEST ( CompactCuckooFilterClear  ,
clears_all_state   
)

◆ TEST() [12/36]

TEST ( CompactCuckooFilterComparison  ,
memory_savings_verified   
)

◆ TEST() [13/36]

◆ TEST() [14/36]

◆ TEST() [15/36]

TEST ( CompactCuckooFilterCtor  ,
custom_entries_per_bucket   
)

Definition at line 69 of file compact-cuckoo-filter.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [16/36]

TEST ( CompactCuckooFilterCtor  ,
custom_fingerprint_bits   
)

Definition at line 63 of file compact-cuckoo-filter.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [17/36]

TEST ( CompactCuckooFilterCtor  ,
default_construction   
)

Definition at line 55 of file compact-cuckoo-filter.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [18/36]

TEST ( CompactCuckooFilterCtor  ,
memory_usage_is_compact   
)

Definition at line 75 of file compact-cuckoo-filter.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [19/36]

TEST ( CompactCuckooFilterDelete  ,
insert_after_remove   
)

◆ TEST() [20/36]

TEST ( CompactCuckooFilterDelete  ,
interleaved_insert_remove   
)

◆ TEST() [21/36]

TEST ( CompactCuckooFilterDelete  ,
remove_duplicate_removes_one_copy   
)

◆ TEST() [22/36]

TEST ( CompactCuckooFilterDelete  ,
remove_existing_element   
)

◆ TEST() [23/36]

TEST ( CompactCuckooFilterDelete  ,
remove_nonexistent_is_noop   
)

◆ TEST() [24/36]

TEST ( CompactCuckooFilterEdge  ,
maximal_fingerprint_bits   
)

◆ TEST() [25/36]

TEST ( CompactCuckooFilterEdge  ,
minimal_fingerprint_bits   
)

◆ TEST() [26/36]

TEST ( CompactCuckooFilterEdge  ,
single_entry_per_bucket   
)

◆ TEST() [27/36]

TEST ( CompactCuckooFilterEdge  ,
tiny_filter   
)

◆ TEST() [28/36]

TEST ( CompactCuckooFilterFPRate  ,
empirical_fp_rate_within_bounds   
)

◆ TEST() [29/36]

TEST ( CompactCuckooFilterFPRate  ,
low_fp_rate_with_large_fingerprint   
)

◆ TEST() [30/36]

TEST ( CompactCuckooFilterIntrospection  ,
load_factor   
)

◆ TEST() [31/36]

TEST ( CompactCuckooFilterIntrospection  ,
memory_usage   
)

◆ TEST() [32/36]

TEST ( CompactCuckooFilterSemantics  ,
copy_preserves_state   
)

◆ TEST() [33/36]

TEST ( CompactCuckooFilterSemantics  ,
move_transfers_state   
)

◆ TEST() [34/36]

TEST ( CompactCuckooFilterStress  ,
many_duplicates   
)

◆ TEST() [35/36]

TEST ( CompactCuckooFilterStress  ,
random_insertions_and_lookups   
)

Definition at line 449 of file compact-cuckoo-filter.cc.

References Aleph::divide_and_conquer_partition_dp(), and rng.

◆ TEST() [36/36]

TEST ( CompactCuckooFilterStress  ,
sequential_insert_remove_cycles   
)