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 <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   
)

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

References Aleph::check_bst(), and Aleph::maps().

◆ TEST() [3/78]

TEST ( HtdRbTreeCompat  ,
InsertDupAllowsDuplicates   
)

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

References Aleph::check_bst(), and Aleph::maps().

◆ TEST() [4/78]

TEST ( HtdRbTreeCompat  ,
InsertInAscendingOrder   
)

◆ TEST() [5/78]

TEST ( HtdRbTreeCompat  ,
InsertInDescendingOrder   
)

◆ TEST() [6/78]

TEST ( HtdRbTreeCompat  ,
InsertMultipleElements   
)

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

References Aleph::maps().

◆ TEST() [7/78]

TEST ( HtdRbTreeCompat  ,
InsertRejectsDuplicates   
)

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

References Aleph::check_bst(), and Aleph::maps().

◆ TEST() [8/78]

TEST ( HtdRbTreeCompat  ,
InsertSingleElement   
)

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

References Aleph::DynList< T >::insert(), and Aleph::maps().

◆ TEST() [9/78]

TEST ( HtdRbTreeCompat  ,
IteratorAfterRemoval   
)

◆ TEST() [10/78]

TEST ( HtdRbTreeCompat  ,
IteratorEmptyTree   
)

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

References Aleph::maps().

◆ TEST() [11/78]

TEST ( HtdRbTreeCompat  ,
IteratorTraversesInOrder   
)

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

References Aleph::DynList< T >::insert(), KEY, and Aleph::maps().

◆ TEST() [12/78]

TEST ( HtdRbTreeCompat  ,
LargeTreeOperations   
)

◆ TEST() [13/78]

TEST ( HtdRbTreeCompat  ,
MoveAssignment   
)

◆ TEST() [14/78]

TEST ( HtdRbTreeCompat  ,
MoveConstructor   
)

◆ TEST() [15/78]

TEST ( HtdRbTreeCompat  ,
NegativeKeys   
)

◆ TEST() [16/78]

◆ TEST() [17/78]

TEST ( HtdRbTreeCompat  ,
RemoveAllElementsInOrder   
)

◆ TEST() [18/78]

TEST ( HtdRbTreeCompat  ,
RemoveDuplicatesInsertedWithInsertDup   
)

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

References KEY, Aleph::maps(), and Aleph::DynList< T >::remove().

◆ TEST() [19/78]

TEST ( HtdRbTreeCompat  ,
RemoveExistingKey   
)

◆ TEST() [20/78]

TEST ( HtdRbTreeCompat  ,
RemoveFromEmptyTree   
)

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

References Aleph::maps().

◆ TEST() [21/78]

TEST ( HtdRbTreeCompat  ,
RemoveFromSingleElementTree   
)

◆ TEST() [22/78]

TEST ( HtdRbTreeCompat  ,
RemoveInReverseOrder   
)

◆ TEST() [23/78]

TEST ( HtdRbTreeCompat  ,
RemoveReturnsNullForMissingKey   
)

◆ TEST() [24/78]

TEST ( HtdRbTreeCompat  ,
RemoveRoot   
)

◆ TEST() [25/78]

TEST ( HtdRbTreeCompat  ,
SearchFindsExistingKey   
)

◆ TEST() [26/78]

TEST ( HtdRbTreeCompat  ,
SearchOrInsertBehavior   
)

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

References Aleph::check_bst(), KEY, and Aleph::maps().

◆ TEST() [27/78]

TEST ( HtdRbTreeCompat  ,
SearchReturnsNullForMissingKey   
)

◆ TEST() [28/78]

◆ TEST() [29/78]

◆ TEST() [30/78]

TEST ( HtdRbTreeCompat  ,
SwapTrees   
)

◆ TEST() [31/78]

TEST ( RbTree  ,
BlackHeightConsistent   
)

◆ TEST() [32/78]

TEST ( RbTree  ,
CustomComparatorGreater   
)

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

References KEY, Aleph::LLINK(), Aleph::maps(), nodes, and Aleph::RLINK().

◆ TEST() [33/78]

TEST ( RbTree  ,
CustomComparatorWithRemove   
)

◆ TEST() [34/78]

TEST ( RbTree  ,
DuplicateAfterOnlyLeftDescents   
)

◆ TEST() [35/78]

TEST ( RbTree  ,
DuplicateAtIntermediateLevel   
)

◆ TEST() [36/78]

TEST ( RbTree  ,
DuplicateDeepInTree   
)

◆ TEST() [37/78]

◆ TEST() [38/78]

◆ TEST() [39/78]

TEST ( RbTree  ,
InsertDupAllowsDuplicates   
)

◆ 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() [46/78]

◆ TEST() [47/78]

TEST ( RbTree  ,
IteratorEmptyTree   
)

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

References Aleph::BinNodeInfixIterator< Node >::has_curr(), and Aleph::maps().

◆ TEST() [48/78]

TEST ( RbTree  ,
IteratorTraversesInOrder   
)

◆ TEST() [49/78]

◆ TEST() [50/78]

TEST ( RbTree  ,
MoveAssignment   
)

◆ TEST() [51/78]

TEST ( RbTree  ,
MoveConstructor   
)

◆ TEST() [52/78]

◆ TEST() [53/78]

TEST ( RbTree  ,
NoConsecutiveReds   
)

◆ TEST() [54/78]

◆ TEST() [55/78]

TEST ( RbTree  ,
RemoveAllElements   
)

◆ TEST() [56/78]

◆ TEST() [57/78]

◆ TEST() [58/78]

TEST ( RbTree  ,
RemoveFromEmptyTree   
)

◆ TEST() [59/78]

◆ TEST() [60/78]

TEST ( RbTree  ,
RemoveInReverseOrder   
)

◆ TEST() [61/78]

◆ TEST() [62/78]

◆ TEST() [63/78]

TEST ( RbTree  ,
SearchFindsExistingKey   
)

◆ TEST() [64/78]

TEST ( RbTree  ,
SearchOrInsertBehavior   
)

◆ TEST() [65/78]

TEST ( RbTree  ,
SearchReturnsNullForMissingKey   
)

◆ TEST() [66/78]

◆ TEST() [67/78]

◆ TEST() [68/78]

◆ TEST() [69/78]

◆ TEST() [70/78]

◆ TEST() [71/78]

TEST ( RbTree  ,
Stress_DescendingInsertion   
)

◆ TEST() [72/78]

◆ TEST() [73/78]

TEST ( RbTree  ,
Stress_StringKeys   
)

◆ TEST() [74/78]

TEST ( RbTree  ,
Stress_ZigzagInsertion   
)

◆ TEST() [75/78]

TEST ( RbTree  ,
SwapTrees   
)

◆ TEST() [76/78]

TEST ( RbTree  ,
TreeRemainsValidAfterMultipleInserts   
)

◆ TEST() [77/78]

TEST ( RbTree  ,
VerifyDetectsValidTree   
)

◆ TEST() [78/78]

TEST ( RbTreeVtl  ,
BasicOperations   
)

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

References KEY, Aleph::maps(), and Aleph::DynList< T >::remove().