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

Exhaustive tests for ahSort.H sorting functions. More...

#include <gtest/gtest.h>
#include <vector>
#include <deque>
#include <algorithm>
#include <functional>
#include <random>
#include <string>
#include <type_traits>
#include <ahSort.H>
#include <tpl_dynArray.H>
#include <tpl_dynList.H>
#include <tpl_dynDlist.H>
Include dependency graph for ahSort_test.cc:

Go to the source code of this file.

Classes

class  DynListSortTest
 
class  DynDlistSortTest
 
class  DynArraySortTest
 
class  ArraySortTest
 

Functions

 TEST_F (DynListSortTest, SortReturnsSortedCopy)
 
 TEST_F (DynListSortTest, SortWithCustomComparator)
 
 TEST_F (DynListSortTest, SortMoveSemantics)
 
 TEST_F (DynListSortTest, InPlaceSortModifiesOriginal)
 
 TEST_F (DynListSortTest, InPlaceSortReturnsReference)
 
 TEST_F (DynListSortTest, SortEmptyList)
 
 TEST_F (DynListSortTest, SortSingleElement)
 
 TEST_F (DynListSortTest, SortAlreadySorted)
 
 TEST_F (DynListSortTest, SortReversed)
 
 TEST_F (DynListSortTest, SortWithDuplicates)
 
 TEST_F (DynDlistSortTest, SortReturnsSortedCopy)
 
 TEST_F (DynDlistSortTest, SortWithCustomComparator)
 
 TEST_F (DynDlistSortTest, SortMoveSemantics)
 
 TEST_F (DynDlistSortTest, InPlaceSortModifiesOriginal)
 
 TEST_F (DynArraySortTest, SortReturnsSortedCopy)
 
 TEST_F (DynArraySortTest, SortWithCustomComparator)
 
 TEST_F (DynArraySortTest, SortMoveSemantics)
 
 TEST_F (DynArraySortTest, InPlaceSortModifiesOriginal)
 
 TEST_F (DynArraySortTest, InPlaceSortReturnsReference)
 
 TEST_F (DynArraySortTest, SortEmptyArray)
 
 TEST_F (DynArraySortTest, SortSingleElement)
 
 TEST_F (ArraySortTest, SortReturnsSortedCopy)
 
 TEST_F (ArraySortTest, SortMoveSemantics)
 
 TEST_F (ArraySortTest, InPlaceSortModifiesOriginal)
 
 TEST (StdSortTest, SortsVector)
 
 TEST (StdSortTest, SortsVectorWithCustomComparator)
 
 TEST (StdSortTest, SortsDeque)
 
 TEST (StdSortTest, SortsEmptyContainer)
 
 TEST (ArgsortTest, ArrayReturnsSortedOrderIndices)
 
 TEST (ArgsortTest, DynArrayReturnsSortedOrderIndices)
 
 TEST (ArgsortTest, StdVectorReturnsSortedOrderIndices)
 
 TEST (ArgsortTest, EmptyStdVectorReturnsEmptyIndex)
 
 TEST (ArgsortTest, CustomComparatorDescending)
 
 TEST (ArgsortTest, MatchesBuildIndexForAlephArrays)
 
 TEST (StableArgsortTest, ArrayPreservesEquivalentOrder)
 
 TEST (StableArgsortTest, DynArrayPreservesEquivalentOrder)
 
 TEST (StableArgsortTest, StdVectorPreservesEquivalentOrder)
 
 TEST (StableArgsortTest, AllEquivalentValuesPreserveOriginalOrder)
 
 TEST (StableArgsortTest, LargeDuplicateGroupsPreserveOriginalOrder)
 
 TEST (StableArgsortTest, ExhaustiveSmallInputsMatchStableSortReference)
 
 TEST (StableArgsortTest, ExhaustiveSmallInputsMatchDescendingStableSortReference)
 
 TEST (StableArgsortTest, CustomComparatorDescendingPreservesEquivalentOrder)
 
 TEST (StableArgsortTest, MatchesStableBuildIndexForAlephArrays)
 
 TEST (RanksTest, DynArrayRanks)
 
 TEST (RanksTest, ArrayRanks)
 
 TEST (RanksTest, DynListRanks)
 
 TEST (RanksTest, DynDlistRanks)
 
 TEST (RanksTest, EmptyContainer)
 
 TEST (RanksTest, SingleElement)
 
 TEST (RanksTest, AlreadySorted)
 
 TEST (RanksTest, Reversed)
 
 TEST (RanksTest, DuplicatesOrderingProperty)
 
 TEST (PairRanksTest, DynArrayPairRanks)
 
 TEST (PairRanksTest, ArrayPairRanks)
 
 TEST (PairRanksTest, DynListPairRanks)
 
 TEST (PairRanksTest, DynDlistPairRanks)
 
 TEST (MultiSortTest, BasicSort)
 
 TEST (MultiSortTest, ThreeArrays)
 
 TEST (MultiSortTest, DescendingOrder)
 
 TEST (MultiSortTest, EmptyArrays)
 
 TEST (MultiSortTest, SingleElement)
 
 TEST (MultiSortTest, StableSort)
 
 TEST (MultiSortTest, AlreadySorted)
 
 TEST (MultiSortTest, StablePropertyRandom)
 
 TEST (MultiSortTest, UnstablePropertyPermutation)
 
 TEST (MultiSortTest, ReverseSorted)
 
 TEST (MultiSortTest, SizeMismatchThrows)
 
 TEST (MultiSortTest, AlephArrays)
 
 TEST (MultiSortTest, StableFlagTrue)
 
 TEST (MultiSortTest, StableFlagFalse)
 
 TEST (MultiSortTest, StableFlagFalseWithCustomComparator)
 
 TEST (SortTraitsTest, SortIsNodiscard)
 
 TEST (SortTraitsTest, RanksIsNodiscard)
 
 TEST (SortTraitsTest, PairRanksIsNodiscard)
 
 TEST (SortStressTest, LargeDynList)
 
 TEST (SortStressTest, LargeDynArray)
 
 TEST (SortStressTest, AllSameElements)
 
 TEST (SortEdgeCaseTest, StringSort)
 
 TEST (SortEdgeCaseTest, LambdaComparator)
 

Detailed Description

Exhaustive tests for ahSort.H sorting functions.

Definition in file ahSort_test.cc.

Function Documentation

◆ TEST() [1/55]

TEST ( ArgsortTest  ,
ArrayReturnsSortedOrderIndices   
)

◆ TEST() [2/55]

TEST ( ArgsortTest  ,
CustomComparatorDescending   
)

◆ TEST() [3/55]

TEST ( ArgsortTest  ,
DynArrayReturnsSortedOrderIndices   
)

◆ TEST() [4/55]

TEST ( ArgsortTest  ,
EmptyStdVectorReturnsEmptyIndex   
)

◆ TEST() [5/55]

TEST ( ArgsortTest  ,
MatchesBuildIndexForAlephArrays   
)

◆ TEST() [6/55]

TEST ( ArgsortTest  ,
StdVectorReturnsSortedOrderIndices   
)

◆ TEST() [7/55]

TEST ( MultiSortTest  ,
AlephArrays   
)

◆ TEST() [8/55]

TEST ( MultiSortTest  ,
AlreadySorted   
)

◆ TEST() [9/55]

TEST ( MultiSortTest  ,
BasicSort   
)

◆ TEST() [10/55]

TEST ( MultiSortTest  ,
DescendingOrder   
)

◆ TEST() [11/55]

TEST ( MultiSortTest  ,
EmptyArrays   
)

◆ TEST() [12/55]

TEST ( MultiSortTest  ,
ReverseSorted   
)

◆ TEST() [13/55]

TEST ( MultiSortTest  ,
SingleElement   
)

◆ TEST() [14/55]

TEST ( MultiSortTest  ,
SizeMismatchThrows   
)

◆ TEST() [15/55]

TEST ( MultiSortTest  ,
StableFlagFalse   
)

◆ TEST() [16/55]

TEST ( MultiSortTest  ,
StableFlagFalseWithCustomComparator   
)

◆ TEST() [17/55]

TEST ( MultiSortTest  ,
StableFlagTrue   
)

◆ TEST() [18/55]

TEST ( MultiSortTest  ,
StablePropertyRandom   
)

◆ TEST() [19/55]

TEST ( MultiSortTest  ,
StableSort   
)

◆ TEST() [20/55]

TEST ( MultiSortTest  ,
ThreeArrays   
)

◆ TEST() [21/55]

TEST ( MultiSortTest  ,
UnstablePropertyPermutation   
)

◆ TEST() [22/55]

TEST ( PairRanksTest  ,
ArrayPairRanks   
)

◆ TEST() [23/55]

TEST ( PairRanksTest  ,
DynArrayPairRanks   
)

◆ TEST() [24/55]

TEST ( PairRanksTest  ,
DynDlistPairRanks   
)

◆ TEST() [25/55]

TEST ( PairRanksTest  ,
DynListPairRanks   
)

◆ TEST() [26/55]

TEST ( RanksTest  ,
AlreadySorted   
)

◆ TEST() [27/55]

TEST ( RanksTest  ,
ArrayRanks   
)

◆ TEST() [28/55]

TEST ( RanksTest  ,
DuplicatesOrderingProperty   
)

◆ TEST() [29/55]

TEST ( RanksTest  ,
DynArrayRanks   
)

◆ TEST() [30/55]

TEST ( RanksTest  ,
DynDlistRanks   
)

◆ TEST() [31/55]

TEST ( RanksTest  ,
DynListRanks   
)

◆ TEST() [32/55]

TEST ( RanksTest  ,
EmptyContainer   
)

Definition at line 747 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), r, and Aleph::ranks().

◆ TEST() [33/55]

TEST ( RanksTest  ,
Reversed   
)

◆ TEST() [34/55]

TEST ( RanksTest  ,
SingleElement   
)

◆ TEST() [35/55]

TEST ( SortEdgeCaseTest  ,
LambdaComparator   
)

◆ TEST() [36/55]

TEST ( SortEdgeCaseTest  ,
StringSort   
)

◆ TEST() [37/55]

TEST ( SortStressTest  ,
AllSameElements   
)

◆ TEST() [38/55]

TEST ( SortStressTest  ,
LargeDynArray   
)

◆ TEST() [39/55]

TEST ( SortStressTest  ,
LargeDynList   
)

◆ TEST() [40/55]

TEST ( SortTraitsTest  ,
PairRanksIsNodiscard   
)

◆ TEST() [41/55]

TEST ( SortTraitsTest  ,
RanksIsNodiscard   
)

◆ TEST() [42/55]

TEST ( SortTraitsTest  ,
SortIsNodiscard   
)

◆ TEST() [43/55]

TEST ( StableArgsortTest  ,
AllEquivalentValuesPreserveOriginalOrder   
)

◆ TEST() [44/55]

TEST ( StableArgsortTest  ,
ArrayPreservesEquivalentOrder   
)

◆ TEST() [45/55]

TEST ( StableArgsortTest  ,
CustomComparatorDescendingPreservesEquivalentOrder   
)

◆ TEST() [46/55]

TEST ( StableArgsortTest  ,
DynArrayPreservesEquivalentOrder   
)

◆ TEST() [47/55]

TEST ( StableArgsortTest  ,
ExhaustiveSmallInputsMatchDescendingStableSortReference   
)

Definition at line 649 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [48/55]

TEST ( StableArgsortTest  ,
ExhaustiveSmallInputsMatchStableSortReference   
)

Definition at line 644 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [49/55]

TEST ( StableArgsortTest  ,
LargeDuplicateGroupsPreserveOriginalOrder   
)

◆ TEST() [50/55]

TEST ( StableArgsortTest  ,
MatchesStableBuildIndexForAlephArrays   
)

◆ TEST() [51/55]

TEST ( StableArgsortTest  ,
StdVectorPreservesEquivalentOrder   
)

◆ TEST() [52/55]

TEST ( StdSortTest  ,
SortsDeque   
)

◆ TEST() [53/55]

TEST ( StdSortTest  ,
SortsEmptyContainer   
)

◆ TEST() [54/55]

TEST ( StdSortTest  ,
SortsVector   
)

◆ TEST() [55/55]

TEST ( StdSortTest  ,
SortsVectorWithCustomComparator   
)

◆ TEST_F() [1/24]

TEST_F ( ArraySortTest  ,
InPlaceSortModifiesOriginal   
)

◆ TEST_F() [2/24]

TEST_F ( ArraySortTest  ,
SortMoveSemantics   
)

◆ TEST_F() [3/24]

TEST_F ( ArraySortTest  ,
SortReturnsSortedCopy   
)

Definition at line 411 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), and Aleph::sort().

◆ TEST_F() [4/24]

TEST_F ( DynArraySortTest  ,
InPlaceSortModifiesOriginal   
)

◆ TEST_F() [5/24]

TEST_F ( DynArraySortTest  ,
InPlaceSortReturnsReference   
)

◆ TEST_F() [6/24]

TEST_F ( DynArraySortTest  ,
SortEmptyArray   
)

Definition at line 390 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), and Aleph::sort().

◆ TEST_F() [7/24]

TEST_F ( DynArraySortTest  ,
SortMoveSemantics   
)

◆ TEST_F() [8/24]

TEST_F ( DynArraySortTest  ,
SortReturnsSortedCopy   
)

Definition at line 342 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), and Aleph::sort().

◆ TEST_F() [9/24]

TEST_F ( DynArraySortTest  ,
SortSingleElement   
)

◆ TEST_F() [10/24]

TEST_F ( DynArraySortTest  ,
SortWithCustomComparator   
)

Definition at line 354 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), and Aleph::sort().

◆ TEST_F() [11/24]

TEST_F ( DynDlistSortTest  ,
InPlaceSortModifiesOriginal   
)

◆ TEST_F() [12/24]

TEST_F ( DynDlistSortTest  ,
SortMoveSemantics   
)

◆ TEST_F() [13/24]

TEST_F ( DynDlistSortTest  ,
SortReturnsSortedCopy   
)

◆ TEST_F() [14/24]

TEST_F ( DynDlistSortTest  ,
SortWithCustomComparator   
)

Definition at line 313 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), and Aleph::sort().

◆ TEST_F() [15/24]

TEST_F ( DynListSortTest  ,
InPlaceSortModifiesOriginal   
)

◆ TEST_F() [16/24]

TEST_F ( DynListSortTest  ,
InPlaceSortReturnsReference   
)

◆ TEST_F() [17/24]

TEST_F ( DynListSortTest  ,
SortAlreadySorted   
)

◆ TEST_F() [18/24]

TEST_F ( DynListSortTest  ,
SortEmptyList   
)

Definition at line 264 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), and Aleph::sort().

◆ TEST_F() [19/24]

TEST_F ( DynListSortTest  ,
SortMoveSemantics   
)

Definition at line 233 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), and Aleph::sort().

◆ TEST_F() [20/24]

TEST_F ( DynListSortTest  ,
SortReturnsSortedCopy   
)

Definition at line 206 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), and Aleph::sort().

◆ TEST_F() [21/24]

TEST_F ( DynListSortTest  ,
SortReversed   
)

◆ TEST_F() [22/24]

TEST_F ( DynListSortTest  ,
SortSingleElement   
)

◆ TEST_F() [23/24]

TEST_F ( DynListSortTest  ,
SortWithCustomComparator   
)

Definition at line 221 of file ahSort_test.cc.

References Aleph::blossom_maximum_cardinality_matching(), and Aleph::sort().

◆ TEST_F() [24/24]

TEST_F ( DynListSortTest  ,
SortWithDuplicates   
)