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

Tests for Rb Tree. More...

#include <algorithm>
#include <cmath>
#include <random>
#include <set>
#include <vector>
#include <functional>
#include <gtest/gtest.h>
#include <numeric>
#include <tpl_rb_tree.H>
#include <tpl_hRbTree.H>
Include dependency graph for rb-tree.cc:

Go to the source code of this file.

Functions

 TEST (RbTree, EmptyTreeProperties)
 
 TEST (RbTree, InsertSingleElement)
 
 TEST (RbTree, InsertMultipleElements)
 
 TEST (RbTree, InsertRejectsDuplicates)
 
 TEST (RbTree, DuplicateAtIntermediateLevel)
 
 TEST (RbTree, DuplicateAfterOnlyLeftDescents)
 
 TEST (RbTree, DuplicateDeepInTree)
 
 TEST (RbTree, InsertDupAllowsDuplicates)
 
 TEST (RbTree, SearchFindsExistingKey)
 
 TEST (RbTree, SearchReturnsNullForMissingKey)
 
 TEST (RbTree, SearchOrInsertBehavior)
 
 TEST (RbTree, RemoveExistingKey)
 
 TEST (RbTree, RemoveReturnsNullForMissingKey)
 
 TEST (RbTree, RemoveFromEmptyTree)
 
 TEST (RbTree, RemoveRoot)
 
 TEST (RbTree, RemoveAllElements)
 
 TEST (RbTree, RemoveInOrder)
 
 TEST (RbTree, RemoveInReverseOrder)
 
 TEST (RbTree, RemoveDuplicatesInsertedWithInsertDup)
 
 TEST (RbTree, TreeRemainsValidAfterMultipleInserts)
 
 TEST (RbTree, NoConsecutiveReds)
 
 TEST (RbTree, BlackHeightConsistent)
 
 TEST (RbTree, SingleElementOperations)
 
 TEST (RbTree, InsertInDescendingOrder)
 
 TEST (RbTree, InsertInAscendingOrder)
 
 TEST (RbTree, CustomComparatorGreater)
 
 TEST (RbTree, RandomInsertSearchRemove)
 
 TEST (RbTree, LargeTreeOperations)
 
 TEST (RbTree, IteratorEmptyTree)
 
 TEST (RbTree, IteratorTraversesInOrder)
 
 TEST (RbTree, IteratorAfterRemoval)
 
 TEST (RbTree, VerifyDetectsValidTree)
 
 TEST (RbTree, IsEmptyMethod)
 
 TEST (RbTree, SizeMethod)
 
 TEST (RbTree, SwapTrees)
 
 TEST (RbTree, MoveConstructor)
 
 TEST (RbTree, MoveAssignment)
 
 TEST (HtdRbTreeCompat, EmptyTreeProperties)
 
 TEST (HtdRbTreeCompat, InsertRejectsDuplicates)
 
 TEST (HtdRbTreeCompat, InsertDupAllowsDuplicates)
 
 TEST (HtdRbTreeCompat, SearchOrInsertBehavior)
 
 TEST (HtdRbTreeCompat, RemoveExistingKey)
 
 TEST (HtdRbTreeCompat, RemoveFromSingleElementTree)
 
 TEST (HtdRbTreeCompat, RemoveAllElementsInOrder)
 
 TEST (HtdRbTreeCompat, RemoveReturnsNullForMissingKey)
 
 TEST (HtdRbTreeCompat, RemoveDuplicatesInsertedWithInsertDup)
 
 TEST (HtdRbTreeCompat, IteratorTraversesInOrder)
 
 TEST (HtdRbTreeCompat, IteratorEmptyTree)
 
 TEST (HtdRbTreeCompat, SwapTrees)
 
 TEST (HtdRbTreeCompat, StatefulComparatorAffectsEquality)
 
 TEST (HtdRbTreeCompat, NegativeKeys)
 
 TEST (HtdRbTreeCompat, RandomInsertSearchRemove)
 
 TEST (HtdRbTreeCompat, InsertSingleElement)
 
 TEST (HtdRbTreeCompat, InsertMultipleElements)
 
 TEST (HtdRbTreeCompat, SearchFindsExistingKey)
 
 TEST (HtdRbTreeCompat, SearchReturnsNullForMissingKey)
 
 TEST (HtdRbTreeCompat, RemoveFromEmptyTree)
 
 TEST (HtdRbTreeCompat, RemoveRoot)
 
 TEST (HtdRbTreeCompat, RemoveInReverseOrder)
 
 TEST (HtdRbTreeCompat, InsertInDescendingOrder)
 
 TEST (HtdRbTreeCompat, InsertInAscendingOrder)
 
 TEST (HtdRbTreeCompat, LargeTreeOperations)
 
 TEST (HtdRbTreeCompat, CustomComparatorGreater)
 
 TEST (HtdRbTreeCompat, IteratorAfterRemoval)
 
 TEST (HtdRbTreeCompat, MoveConstructor)
 
 TEST (HtdRbTreeCompat, MoveAssignment)
 
 TEST (RbTreeVtl, BasicOperations)
 
 TEST (RbTree, NegativeKeys)
 
 TEST (RbTree, CustomComparatorWithRemove)
 
 TEST (RbTree, Stress_AscendingInsertion)
 
 TEST (RbTree, Stress_DescendingInsertion)
 
 TEST (RbTree, Stress_ZigzagInsertion)
 
 TEST (RbTree, Fuzz_LargeScaleRandomOps)
 
 TEST (RbTree, Stress_BulkInsertBulkRemove)
 
 TEST (RbTree, Stress_ManyDuplicates)
 
 TEST (RbTree, Stress_AlternatingInsertRemove)
 
 TEST (RbTree, Stress_StringKeys)
 
 TEST (HtdRbTreeCompat, Stress_LargeScaleOps)
 

Detailed Description

Tests for Rb Tree.

Definition in file rb-tree.cc.

Function Documentation

◆ TEST() [1/78]

TEST ( HtdRbTreeCompat  ,
CustomComparatorGreater   
)

◆ TEST() [2/78]

TEST ( HtdRbTreeCompat  ,
EmptyTreeProperties   
)

◆ TEST() [3/78]

TEST ( HtdRbTreeCompat  ,
InsertDupAllowsDuplicates   
)

◆ TEST() [4/78]

TEST ( HtdRbTreeCompat  ,
InsertInAscendingOrder   
)

◆ TEST() [5/78]

TEST ( HtdRbTreeCompat  ,
InsertInDescendingOrder   
)

◆ TEST() [6/78]

TEST ( HtdRbTreeCompat  ,
InsertMultipleElements   
)

Definition at line 1302 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), k, and keys.

◆ TEST() [7/78]

TEST ( HtdRbTreeCompat  ,
InsertRejectsDuplicates   
)

◆ TEST() [8/78]

TEST ( HtdRbTreeCompat  ,
InsertSingleElement   
)

Definition at line 1287 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [9/78]

TEST ( HtdRbTreeCompat  ,
IteratorAfterRemoval   
)

Definition at line 1479 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), k, and KEY.

◆ TEST() [10/78]

TEST ( HtdRbTreeCompat  ,
IteratorEmptyTree   
)

Definition at line 1135 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [11/78]

TEST ( HtdRbTreeCompat  ,
IteratorTraversesInOrder   
)

Definition at line 1118 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), k, and KEY.

◆ TEST() [12/78]

TEST ( HtdRbTreeCompat  ,
LargeTreeOperations   
)

Definition at line 1428 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), k, and N.

◆ TEST() [13/78]

TEST ( HtdRbTreeCompat  ,
MoveAssignment   
)

Definition at line 1519 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [14/78]

TEST ( HtdRbTreeCompat  ,
MoveConstructor   
)

Definition at line 1498 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [15/78]

TEST ( HtdRbTreeCompat  ,
NegativeKeys   
)

◆ TEST() [16/78]

TEST ( HtdRbTreeCompat  ,
RandomInsertSearchRemove   
)

Definition at line 1218 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), k, KEY, keys, and rng.

◆ TEST() [17/78]

TEST ( HtdRbTreeCompat  ,
RemoveAllElementsInOrder   
)

◆ TEST() [18/78]

TEST ( HtdRbTreeCompat  ,
RemoveDuplicatesInsertedWithInsertDup   
)

◆ TEST() [19/78]

TEST ( HtdRbTreeCompat  ,
RemoveExistingKey   
)

Definition at line 1020 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), k, and KEY.

◆ TEST() [20/78]

TEST ( HtdRbTreeCompat  ,
RemoveFromEmptyTree   
)

Definition at line 1351 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [21/78]

TEST ( HtdRbTreeCompat  ,
RemoveFromSingleElementTree   
)

◆ TEST() [22/78]

TEST ( HtdRbTreeCompat  ,
RemoveInReverseOrder   
)

Definition at line 1378 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), and k.

◆ TEST() [23/78]

TEST ( HtdRbTreeCompat  ,
RemoveReturnsNullForMissingKey   
)

Definition at line 1079 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), and k.

◆ TEST() [24/78]

TEST ( HtdRbTreeCompat  ,
RemoveRoot   
)

◆ TEST() [25/78]

TEST ( HtdRbTreeCompat  ,
SearchFindsExistingKey   
)

Definition at line 1317 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), k, and KEY.

◆ TEST() [26/78]

TEST ( HtdRbTreeCompat  ,
SearchOrInsertBehavior   
)

◆ TEST() [27/78]

TEST ( HtdRbTreeCompat  ,
SearchReturnsNullForMissingKey   
)

Definition at line 1335 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), and k.

◆ TEST() [28/78]

TEST ( HtdRbTreeCompat  ,
StatefulComparatorAffectsEquality   
)

◆ TEST() [29/78]

TEST ( HtdRbTreeCompat  ,
Stress_LargeScaleOps   
)

Definition at line 1885 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), and k.

◆ TEST() [30/78]

TEST ( HtdRbTreeCompat  ,
SwapTrees   
)

Definition at line 1143 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [31/78]

TEST ( RbTree  ,
BlackHeightConsistent   
)

◆ TEST() [32/78]

TEST ( RbTree  ,
CustomComparatorGreater   
)

Definition at line 641 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), k, KEY, keys, LLINK, nodes, r, and RLINK.

◆ TEST() [33/78]

TEST ( RbTree  ,
CustomComparatorWithRemove   
)

Definition at line 1590 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), and k.

◆ TEST() [34/78]

TEST ( RbTree  ,
DuplicateAfterOnlyLeftDescents   
)

◆ TEST() [35/78]

TEST ( RbTree  ,
DuplicateAtIntermediateLevel   
)

◆ TEST() [36/78]

TEST ( RbTree  ,
DuplicateDeepInTree   
)

Definition at line 289 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), and k.

◆ TEST() [37/78]

TEST ( RbTree  ,
EmptyTreeProperties   
)

◆ TEST() [38/78]

TEST ( RbTree  ,
Fuzz_LargeScaleRandomOps   
)

◆ TEST() [39/78]

TEST ( RbTree  ,
InsertDupAllowsDuplicates   
)

Definition at line 310 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), inorder_keys(), and keys.

◆ TEST() [40/78]

TEST ( RbTree  ,
InsertInAscendingOrder   
)

◆ TEST() [41/78]

TEST ( RbTree  ,
InsertInDescendingOrder   
)

◆ TEST() [42/78]

TEST ( RbTree  ,
InsertMultipleElements   
)

◆ TEST() [43/78]

TEST ( RbTree  ,
InsertRejectsDuplicates   
)

◆ TEST() [44/78]

TEST ( RbTree  ,
InsertSingleElement   
)

◆ TEST() [45/78]

TEST ( RbTree  ,
IsEmptyMethod   
)

◆ TEST() [46/78]

TEST ( RbTree  ,
IteratorAfterRemoval   
)

◆ TEST() [47/78]

TEST ( RbTree  ,
IteratorEmptyTree   
)

Definition at line 781 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [48/78]

TEST ( RbTree  ,
IteratorTraversesInOrder   
)

Definition at line 789 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), k, and KEY.

◆ TEST() [49/78]

TEST ( RbTree  ,
LargeTreeOperations   
)

◆ TEST() [50/78]

TEST ( RbTree  ,
MoveAssignment   
)

Definition at line 935 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [51/78]

TEST ( RbTree  ,
MoveConstructor   
)

Definition at line 913 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [52/78]

TEST ( RbTree  ,
NegativeKeys   
)

◆ TEST() [53/78]

TEST ( RbTree  ,
NoConsecutiveReds   
)

Definition at line 555 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), and k.

◆ TEST() [54/78]

TEST ( RbTree  ,
RandomInsertSearchRemove   
)

◆ TEST() [55/78]

TEST ( RbTree  ,
RemoveAllElements   
)

◆ TEST() [56/78]

TEST ( RbTree  ,
RemoveDuplicatesInsertedWithInsertDup   
)

◆ TEST() [57/78]

TEST ( RbTree  ,
RemoveExistingKey   
)

◆ TEST() [58/78]

TEST ( RbTree  ,
RemoveFromEmptyTree   
)

◆ TEST() [59/78]

TEST ( RbTree  ,
RemoveInOrder   
)

◆ TEST() [60/78]

TEST ( RbTree  ,
RemoveInReverseOrder   
)

◆ TEST() [61/78]

TEST ( RbTree  ,
RemoveReturnsNullForMissingKey   
)

◆ TEST() [62/78]

TEST ( RbTree  ,
RemoveRoot   
)

◆ TEST() [63/78]

TEST ( RbTree  ,
SearchFindsExistingKey   
)

◆ TEST() [64/78]

TEST ( RbTree  ,
SearchOrInsertBehavior   
)

Definition at line 359 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), and KEY.

◆ TEST() [65/78]

TEST ( RbTree  ,
SearchReturnsNullForMissingKey   
)

◆ TEST() [66/78]

TEST ( RbTree  ,
SingleElementOperations   
)

◆ TEST() [67/78]

TEST ( RbTree  ,
SizeMethod   
)

◆ TEST() [68/78]

TEST ( RbTree  ,
Stress_AlternatingInsertRemove   
)

◆ TEST() [69/78]

TEST ( RbTree  ,
Stress_AscendingInsertion   
)

◆ TEST() [70/78]

TEST ( RbTree  ,
Stress_BulkInsertBulkRemove   
)

◆ TEST() [71/78]

TEST ( RbTree  ,
Stress_DescendingInsertion   
)

Definition at line 1646 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), k, and N.

◆ TEST() [72/78]

TEST ( RbTree  ,
Stress_ManyDuplicates   
)

Definition at line 1771 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), k, N, and QuadTree::remove().

◆ TEST() [73/78]

TEST ( RbTree  ,
Stress_StringKeys   
)

◆ TEST() [74/78]

TEST ( RbTree  ,
Stress_ZigzagInsertion   
)

Definition at line 1663 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), k, and N.

◆ TEST() [75/78]

TEST ( RbTree  ,
SwapTrees   
)

◆ TEST() [76/78]

TEST ( RbTree  ,
TreeRemainsValidAfterMultipleInserts   
)

◆ TEST() [77/78]

TEST ( RbTree  ,
VerifyDetectsValidTree   
)

Definition at line 828 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), QuadTree::insert(), and k.

◆ TEST() [78/78]

TEST ( RbTreeVtl  ,
BasicOperations   
)

Definition at line 1540 of file rb-tree.cc.

References Aleph::blossom_maximum_cardinality_matching(), k, and KEY.