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

Tests for Dynsettree. More...

#include <algorithm>
#include <random>
#include <set>
#include <stdexcept>
#include <vector>
#include <string>
#include <gtest/gtest.h>
#include <tpl_dynSetTree.H>
Include dependency graph for dynsettree.cc:

Go to the source code of this file.

Classes

class  DynSetTreeTypedTest< T >
 

Typedefs

using AllTreeTypes = ::testing::Types< DynSetBinTree< int >, DynSetAvlTree< int >, DynSetSplayTree< int >, DynSetRandTree< int >, DynSetTreap< int >, DynSetTreapRk< int >, DynSetRbTree< int > >
 

Functions

 TYPED_TEST_SUITE (DynSetTreeTypedTest, AllTreeTypes)
 
 TYPED_TEST (DynSetTreeTypedTest, EmptySetProperties)
 
 TYPED_TEST (DynSetTreeTypedTest, InsertAndSearch)
 
 TYPED_TEST (DynSetTreeTypedTest, InsertRejectsDuplicates)
 
 TYPED_TEST (DynSetTreeTypedTest, RemoveOperations)
 
 TYPED_TEST (DynSetTreeTypedTest, SearchOrInsert)
 
 TYPED_TEST (DynSetTreeTypedTest, ContainsOrInsert)
 
 TYPED_TEST (DynSetTreeTypedTest, FindAndDel)
 
 TYPED_TEST (DynSetTreeTypedTest, CopyConstructor)
 
 TYPED_TEST (DynSetTreeTypedTest, MoveConstructor)
 
 TYPED_TEST (DynSetTreeTypedTest, Swap)
 
 TYPED_TEST (DynSetTreeTypedTest, EmptyMethod)
 
 TYPED_TEST (DynSetTreeTypedTest, IteratorInOrder)
 
 TYPED_TEST (DynSetTreeTypedTest, ForEachInorder)
 
 TYPED_TEST (DynSetTreeTypedTest, Traverse)
 
 TYPED_TEST (DynSetTreeTypedTest, Verify)
 
 TYPED_TEST (DynSetTreeTypedTest, StressTest)
 
 TEST (DynSetTreapRk, SelectByPosition)
 
 TEST (DynSetTreapRk, Position)
 
 TEST (DynSetTreapRk, FindPosition)
 
 TEST (DynSetTreapRk, RemovePos)
 
 TEST (DynSetTreapRk, OperatorParenthesis)
 
 TEST (DynSetTreapRk, SplitKey)
 
 TEST (DynSetTreapRk, SplitKeyDup)
 
 TEST (DynSetTreapRk, SplitPos)
 
 TEST (DynSetTreapRk, SplitPosEdgeCases)
 
 TEST (DynSetTreapRk, RankOperationsOutOfRange)
 
 TEST (DynSetTreapRk, Join)
 
 TEST (DynSetTreapRk, JoinWithDuplicates)
 
 TEST (DynSetTreapRk, JoinDup)
 
template<typename T >
static void insert_dup_traversal_test ()
 
 TEST (DynSetTree, InsertDupTraversesDuplicates)
 
template<typename T >
static void range_methods_throw_domain_error_test ()
 
 TEST (DynSetTree, RangeMethodsThrowOnNonRankTrees)
 
 TEST (DynSetTree, CustomComparatorGreater)
 
 TEST (DynSetTree, OperatorBracketConstThrows)
 
 TEST (DynSetTree, OperatorBracketNonConstInserts)
 
 TEST (DynSetTree, VerifyValidTree)
 
 TEST (DynSetTree, LargeSetOperations)
 
 TEST (DynSetTree, RandomInsertRemove)
 
 TEST (DynSetTree, StringKeys)
 
 TEST (DynSetTree, SingleElement)
 
 TEST (DynSetTree, InsertRemoveRepeated)
 
 TEST (DynSetTree, AccessMethods)
 
 TEST (DynSetTreeHardening, InsertDoesNotLeakOnThrow)
 
 TEST (DynSetTreeHardening, SearchOrInsertDoesNotLeakOnThrow)
 
 TEST (DynSetTreeHardening, ContainsOrInsertDoesNotLeakOnThrow)
 
 TYPED_TEST (DynSetTreeTypedTest, AppendMethod)
 
 TYPED_TEST (DynSetTreeTypedTest, PutMethod)
 
 TYPED_TEST (DynSetTreeTypedTest, InsertRvalue)
 
 TYPED_TEST (DynSetTreeTypedTest, AppendRvalue)
 
 TYPED_TEST (DynSetTreeTypedTest, PutRvalue)
 
 TYPED_TEST (DynSetTreeTypedTest, SearchOrInsertRvalue)
 
 TYPED_TEST (DynSetTreeTypedTest, ContainsOrInsertRvalue)
 
 TYPED_TEST (DynSetTreeTypedTest, InsertDupRvalue)
 
 TYPED_TEST (DynSetTreeTypedTest, Height)
 
 TYPED_TEST (DynSetTreeTypedTest, InternalPathLength)
 
 TYPED_TEST (DynSetTreeTypedTest, GetRootNode)
 
 TYPED_TEST (DynSetTreeTypedTest, GetFirstAndGetLast)
 
 TYPED_TEST (DynSetTreeTypedTest, GetMethod)
 
 TYPED_TEST (DynSetTreeTypedTest, GetItem)
 
 TYPED_TEST (DynSetTreeTypedTest, ExistHasContainsConsistency)
 
 TYPED_TEST (DynSetTreeTypedTest, CopyAssignment)
 
 TYPED_TEST (DynSetTreeTypedTest, SelfCopyAssignment)
 
 TYPED_TEST (DynSetTreeTypedTest, MoveAssignment)
 
 TYPED_TEST (DynSetTreeTypedTest, SelfMoveAssignment)
 
 TEST (DynSetTree, InitializerListConstruction)
 
 TEST (DynSetTree, InitializerListConstructionWithDuplicates)
 
 TEST (DynSetTree, InitializerListEmpty)
 
 TEST (DynSetTreapRk, SplitKeyWhenKeyExists)
 
 TEST (DynSetTreapRk, SplitKeyEmptySet)
 
 TEST (DynSetTreapRk, SplitKeyDupEmptySet)
 
 TEST (DynSetTreapRk, AccessMethod)
 
 TEST (DynSetTreapRk, SelectOutOfRange)
 
 TEST (DynSetTreapRk, SelectOnEmptySet)
 
 TEST (DynSetTreapRk, RemovePosOutOfRange)
 
 TEST (DynSetTreapRk, FindPositionOnEmptySet)
 
 TEST (DynSetTreapRk, PositionNotFound)
 
 TEST (DynSetTreapRk, ConstSelect)
 
 TYPED_TEST (DynSetTreeTypedTest, IteratorOnEmptySet)
 
 TYPED_TEST (DynSetTreeTypedTest, IteratorResetFirst)
 
 TYPED_TEST (DynSetTreeTypedTest, IteratorResetLast)
 
 TYPED_TEST (DynSetTreeTypedTest, TraverseEarlyExit)
 
 TYPED_TEST (DynSetTreeTypedTest, TraverseConst)
 
 TEST (DynSetTree, OperatorParenthesisOnNonRankTreeThrows)
 
 TEST (DynSetTreapRk, JoinEmptySets)
 
 TEST (DynSetTreapRk, JoinWithEmptySet)
 
 TEST (DynSetTreapRk, JoinDupEmptySets)
 
 TYPED_TEST (DynSetTreeTypedTest, VerifyEmptyTree)
 
 TYPED_TEST (DynSetTreeTypedTest, VerifySingleElement)
 
 TEST (DynSetTree, StringRvalueInsert)
 
 TEST (DynSetTree, StringRvalueSearchOrInsert)
 
 TEST (DynSetTreeAliases, DynSetBinTreeWorks)
 
 TEST (DynSetTreeAliases, DynSetAvlTreeWorks)
 
 TEST (DynSetTreeAliases, DynSetSplayTreeWorks)
 
 TEST (DynSetTreeAliases, DynSetRandTreeWorks)
 
 TEST (DynSetTreeAliases, DynSetTreapWorks)
 
 TEST (DynSetTreeAliases, DynSetTreapRkWorks)
 
 TEST (DynSetTreeAliases, DynSetRbTreeWorks)
 
 TYPED_TEST (DynSetTreeTypedTest, Stress_AscendingInsertion)
 
 TYPED_TEST (DynSetTreeTypedTest, Stress_DescendingInsertion)
 
 TYPED_TEST (DynSetTreeTypedTest, Stress_BulkInsertBulkRemove)
 
 TYPED_TEST (DynSetTreeTypedTest, Fuzz_RandomOperations)
 
 TYPED_TEST (DynSetTreeTypedTest, Stress_AlternatingInsertRemove)
 
 TEST (DynSetTreeStress, AllTypesLargeScale)
 
int main (int argc, char **argv)
 

Detailed Description

Tests for Dynsettree.

Definition in file dynsettree.cc.

Typedef Documentation

◆ AllTreeTypes

using AllTreeTypes = ::testing::Types< DynSetBinTree<int>, DynSetAvlTree<int>, DynSetSplayTree<int>, DynSetRandTree<int>, DynSetTreap<int>, DynSetTreapRk<int>, DynSetRbTree<int> >

Definition at line 62 of file dynsettree.cc.

Function Documentation

◆ insert_dup_traversal_test()

template<typename T >
static void insert_dup_traversal_test ( )
static

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 2346 of file dynsettree.cc.

References Aleph::maps().

◆ range_methods_throw_domain_error_test()

template<typename T >
static void range_methods_throw_domain_error_test ( )
static

Definition at line 1115 of file dynsettree.cc.

References Aleph::maps().

◆ TEST() [1/55]

◆ TEST() [2/55]

TEST ( DynSetTreapRk  ,
ConstSelect   
)

◆ TEST() [3/55]

◆ TEST() [4/55]

TEST ( DynSetTreapRk  ,
FindPositionOnEmptySet   
)

◆ TEST() [5/55]

◆ TEST() [6/55]

TEST ( DynSetTreapRk  ,
JoinDup   
)

◆ TEST() [7/55]

TEST ( DynSetTreapRk  ,
JoinDupEmptySets   
)

Definition at line 2057 of file dynsettree.cc.

References Aleph::HTList::is_empty(), and Aleph::maps().

◆ TEST() [8/55]

TEST ( DynSetTreapRk  ,
JoinEmptySets   
)

◆ TEST() [9/55]

◆ TEST() [10/55]

◆ TEST() [11/55]

TEST ( DynSetTreapRk  ,
OperatorParenthesis   
)

◆ TEST() [12/55]

◆ TEST() [13/55]

◆ TEST() [14/55]

◆ TEST() [15/55]

◆ TEST() [16/55]

◆ TEST() [17/55]

◆ TEST() [18/55]

TEST ( DynSetTreapRk  ,
SelectOnEmptySet   
)

◆ TEST() [19/55]

◆ TEST() [20/55]

◆ TEST() [21/55]

◆ TEST() [22/55]

◆ TEST() [23/55]

◆ TEST() [24/55]

◆ TEST() [25/55]

◆ TEST() [26/55]

◆ TEST() [27/55]

◆ TEST() [28/55]

◆ TEST() [29/55]

TEST ( DynSetTree  ,
InitializerListConstruction   
)

◆ TEST() [30/55]

TEST ( DynSetTree  ,
InitializerListConstructionWithDuplicates   
)

◆ TEST() [31/55]

TEST ( DynSetTree  ,
InitializerListEmpty   
)

◆ TEST() [32/55]

TEST ( DynSetTree  ,
InsertDupTraversesDuplicates   
)

Definition at line 1099 of file dynsettree.cc.

References Aleph::maps().

◆ TEST() [33/55]

◆ TEST() [34/55]

◆ TEST() [35/55]

TEST ( DynSetTree  ,
OperatorBracketConstThrows   
)

Definition at line 1216 of file dynsettree.cc.

References Aleph::maps().

◆ TEST() [36/55]

TEST ( DynSetTree  ,
OperatorBracketNonConstInserts   
)

◆ TEST() [37/55]

TEST ( DynSetTree  ,
OperatorParenthesisOnNonRankTreeThrows   
)

◆ TEST() [38/55]

◆ TEST() [39/55]

TEST ( DynSetTree  ,
RangeMethodsThrowOnNonRankTrees   
)

Definition at line 1128 of file dynsettree.cc.

References Aleph::maps().

◆ TEST() [40/55]

◆ TEST() [41/55]

◆ TEST() [42/55]

◆ TEST() [43/55]

TEST ( DynSetTree  ,
StringRvalueSearchOrInsert   
)

◆ TEST() [44/55]

◆ TEST() [45/55]

◆ TEST() [46/55]

◆ TEST() [47/55]

◆ TEST() [48/55]

◆ TEST() [49/55]

◆ TEST() [50/55]

◆ TEST() [51/55]

◆ TEST() [52/55]

TEST ( DynSetTreeHardening  ,
ContainsOrInsertDoesNotLeakOnThrow   
)

Definition at line 1495 of file dynsettree.cc.

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

◆ TEST() [53/55]

TEST ( DynSetTreeHardening  ,
InsertDoesNotLeakOnThrow   
)

Definition at line 1451 of file dynsettree.cc.

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

◆ TEST() [54/55]

TEST ( DynSetTreeHardening  ,
SearchOrInsertDoesNotLeakOnThrow   
)

Definition at line 1473 of file dynsettree.cc.

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

◆ TEST() [55/55]

◆ TYPED_TEST() [1/47]

◆ TYPED_TEST() [2/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
AppendRvalue   
)

◆ TYPED_TEST() [3/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
ContainsOrInsert   
)

Definition at line 141 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [4/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
ContainsOrInsertRvalue   
)

◆ TYPED_TEST() [5/47]

◆ TYPED_TEST() [6/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
CopyConstructor   
)

Definition at line 169 of file dynsettree.cc.

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

◆ TYPED_TEST() [7/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
EmptyMethod   
)

Definition at line 217 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [8/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
EmptySetProperties   
)

Definition at line 74 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [9/47]

◆ TYPED_TEST() [10/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
FindAndDel   
)

Definition at line 153 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [11/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
ForEachInorder   
)

Definition at line 243 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [12/47]

◆ TYPED_TEST() [13/47]

◆ TYPED_TEST() [14/47]

◆ TYPED_TEST() [15/47]

◆ TYPED_TEST() [16/47]

◆ TYPED_TEST() [17/47]

◆ TYPED_TEST() [18/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
InsertAndSearch   
)

Definition at line 85 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [19/47]

◆ TYPED_TEST() [20/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
InsertRejectsDuplicates   
)

Definition at line 105 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [21/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
InsertRvalue   
)

◆ TYPED_TEST() [22/47]

◆ TYPED_TEST() [23/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
IteratorInOrder   
)

Definition at line 230 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [24/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
IteratorOnEmptySet   
)

Definition at line 1940 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [25/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
IteratorResetFirst   
)

◆ TYPED_TEST() [26/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
IteratorResetLast   
)

◆ TYPED_TEST() [27/47]

◆ TYPED_TEST() [28/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
MoveConstructor   
)

Definition at line 186 of file dynsettree.cc.

References Aleph::maps(), and Aleph::HTList::size().

◆ TYPED_TEST() [29/47]

◆ TYPED_TEST() [30/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
PutRvalue   
)

◆ TYPED_TEST() [31/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
RemoveOperations   
)

Definition at line 116 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [32/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
SearchOrInsert   
)

Definition at line 129 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [33/47]

◆ TYPED_TEST() [34/47]

◆ TYPED_TEST() [35/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
SelfMoveAssignment   
)

Definition at line 1758 of file dynsettree.cc.

References Aleph::DynSetTree< Key, Tree, Compare >::insert().

◆ TYPED_TEST() [36/47]

◆ TYPED_TEST() [37/47]

◆ TYPED_TEST() [38/47]

◆ TYPED_TEST() [39/47]

◆ TYPED_TEST() [40/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
StressTest   
)

Definition at line 278 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [41/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
Swap   
)

◆ TYPED_TEST() [42/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
Traverse   
)

Definition at line 255 of file dynsettree.cc.

References Aleph::completed(), Aleph::maps(), and Aleph::sum().

◆ TYPED_TEST() [43/47]

◆ TYPED_TEST() [44/47]

◆ TYPED_TEST() [45/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
Verify   
)

Definition at line 270 of file dynsettree.cc.

References Aleph::maps().

◆ TYPED_TEST() [46/47]

TYPED_TEST ( DynSetTreeTypedTest  ,
VerifyEmptyTree   
)

◆ TYPED_TEST() [47/47]

◆ TYPED_TEST_SUITE()

TYPED_TEST_SUITE ( DynSetTreeTypedTest  ,
AllTreeTypes   
)