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

Tests for Ah Stl Functional. More...

#include <gtest/gtest.h>
#include <ah-stl-functional.H>
#include <vector>
#include <list>
#include <deque>
#include <string>
#include <forward_list>
Include dependency graph for ah-stl-functional_test.cc:

Go to the source code of this file.

Classes

struct  std::hash< Point >
 
struct  std::hash< MoveTracker >
 

Namespaces

namespace  std
 STL namespace.
 

Functions

 TEST (StlRange, BasicRange)
 
 TEST (StlRange, RangeWithStep)
 
 TEST (StlRange, SingleArgRange)
 
 TEST (StlLinspace, Basic)
 
 TEST (StlRep, Basic)
 
 TEST (StlGenerate, Basic)
 
 TEST (StlForEach, Basic)
 
 TEST (StlForEachIndexed, Basic)
 
 TEST (StlMap, Basic)
 
 TEST (StlMap, TypeChange)
 
 TEST (StlMapi, Basic)
 
 TEST (StlFilter, Basic)
 
 TEST (StlFilteri, EvenIndices)
 
 TEST (StlFoldl, Sum)
 
 TEST (StlFoldl, Product)
 
 TEST (StlFoldr, Subtraction)
 
 TEST (StlFoldr, ListConstruction)
 
 TEST (StlScanLeft, RunningSum)
 
 TEST (StlScanRight, Basic)
 
 TEST (StlAll, AllTrue)
 
 TEST (StlAll, SomeFalse)
 
 TEST (StlExists, SomeTrue)
 
 TEST (StlExists, NoneTrue)
 
 TEST (StlNone, Basic)
 
 TEST (StlFind, Found)
 
 TEST (StlFind, NotFound)
 
 TEST (StlFindLast, Found)
 
 TEST (StlFindIndex, Found)
 
 TEST (StlFindMapi, Found)
 
 TEST (StlMem, Found)
 
 TEST (StlCount, Basic)
 
 TEST (StlCountValue, Basic)
 
 TEST (StlTake, Basic)
 
 TEST (StlDrop, Basic)
 
 TEST (StlTakeLast, Basic)
 
 TEST (StlTakeWhile, Basic)
 
 TEST (StlDropWhile, Basic)
 
 TEST (StlFirst, Basic)
 
 TEST (StlFirst, Empty)
 
 TEST (StlLast, Basic)
 
 TEST (StlNth, Basic)
 
 TEST (StlMin, Basic)
 
 TEST (StlMax, Basic)
 
 TEST (StlMinMax, Basic)
 
 TEST (StlMinBy, Basic)
 
 TEST (StlMaxBy, Basic)
 
 TEST (StlSum, Basic)
 
 TEST (StlProduct, Basic)
 
 TEST (StlPartition, Basic)
 
 TEST (StlZipToPairs, Basic)
 
 TEST (StlUnzipPairs, Basic)
 
 TEST (StlEnumerateToPairs, Basic)
 
 TEST (StlEqual, Equal)
 
 TEST (StlEqual, NotEqual)
 
 TEST (StlCompare, Equal)
 
 TEST (StlCompare, Less)
 
 TEST (StlCompare, Greater)
 
 TEST (StlReverse, Basic)
 
 TEST (StlSort, Basic)
 
 TEST (StlSortBy, Basic)
 
 TEST (StlUnique, Basic)
 
 TEST (StlDistinct, Basic)
 
 TEST (StlConcat, Basic)
 
 TEST (StlFlatten, Basic)
 
 TEST (StlFlatMap, Basic)
 
 TEST (StlGroup, Basic)
 
 TEST (StlGroupBy, Basic)
 
 TEST (StlFunctional, WorksWithList)
 
 TEST (StlFunctional, WorksWithDeque)
 
 TEST (StlPermutations, Basic)
 
 TEST (StlPermutations, TraverseWithStop)
 
 TEST (StlCombinations, ChooseTwo)
 
 TEST (StlCombinations, ChooseThree)
 
 TEST (StlArrangements, ChooseTwo)
 
 TEST (StlCartesianProduct, Basic)
 
 TEST (StlPowerSet, Basic)
 
 TEST (StlSlidingWindow, Basic)
 
 TEST (StlChunks, Basic)
 
 TEST (StlIntersperse, Basic)
 
 TEST (StlSplitAt, Basic)
 
 TEST (StlSpan, Basic)
 
 TEST (StlInit, Basic)
 
 TEST (StlTail, Basic)
 
 TEST (StlTally, Basic)
 
 TEST (StlReject, Basic)
 
 TEST (StlDistinctPerformance, LargeContainerUsesHashPath)
 
 TEST (StlDistinctPerformance, VeryLargeContainer)
 
 TEST (StlTallyPerformance, LargeContainerUsesHashPath)
 
 TEST (StlGroupByPerformance, LargeContainerUsesHashPath)
 
 TEST (StlDistinctEdgeCases, EmptyContainer)
 
 TEST (StlDistinctEdgeCases, SingleElement)
 
 TEST (StlDistinctEdgeCases, AllSame)
 
 TEST (StlDistinctEdgeCases, AllUnique)
 
 TEST (StlTallyEdgeCases, EmptyContainer)
 
 TEST (StlTallyEdgeCases, SingleElement)
 
 TEST (StlGroupByEdgeCases, EmptyContainer)
 
 TEST (StlGroupByEdgeCases, SingleElement)
 
 TEST (StlGroupByEdgeCases, AllSameKey)
 
 TEST (StlDistinctSmall, UsesLinearPath)
 
 TEST (StlTallySmall, UsesLinearPath)
 
 TEST (StlDistinctCustomType, PointsSmall)
 
 TEST (StlDistinctCustomType, PointsLarge)
 
 TEST (StlTallyCustomType, Points)
 
 TEST (StlGroupByCustomType, PointsByQuadrant)
 
 TEST (StlMapForwarding, LambdaWithCapture)
 
 TEST (StlFilterForwarding, MutableLambda)
 
 TEST (StlFoldlForwarding, AccumulatorByValue)
 
 TEST (StlDistinctContainerTypes, List)
 
 TEST (StlDistinctContainerTypes, Deque)
 
 TEST (StlTallyContainerTypes, List)
 
 TEST (StlGroupByContainerTypes, List)
 
 TEST (StlDistinctOrder, PreservesFirstOccurrence)
 
 TEST (StlDistinctOrder, PreservesFirstOccurrenceLarge)
 
 TEST (StlTallyOrder, PreservesFirstOccurrence)
 
 TEST (StlGroupByOrder, PreservesFirstOccurrence)
 
 TEST (StlDistinctStrings, Basic)
 
 TEST (StlDistinctStrings, Large)
 
 TEST (StlGroupByStrings, ByLength)
 
 TEST (StlGroupByStrings, ByFirstChar)
 
 TEST (StlDistinctBoundary, JustBelowThreshold)
 
 TEST (StlDistinctBoundary, ExactlyAtThreshold)
 
 TEST (StlDistinctBoundary, JustAboveThreshold)
 
 TEST (StlComposition, DistinctThenMap)
 
 TEST (StlComposition, FilterThenDistinct)
 
 TEST (StlComposition, GroupByThenMap)
 
 TEST (StlForwardListCompat, Map)
 
 TEST (StlForwardListCompat, Filter)
 
 TEST (StlForwardListCompat, Foldl)
 
 TEST (StlForwardListCompat, Distinct)
 
 TEST (StlForwardListCompat, Tally)
 
 TEST (StlForwardListCompat, GroupBy)
 
 TEST (StlForwardListCompat, Last)
 
 TEST (StlForwardListCompat, TakeLast)
 
 TEST (StlForwardListCompat, Drop)
 
 TEST (StlNonHashable, DistinctSmall)
 
 TEST (StlNonHashable, DistinctLarge)
 
 TEST (StlNonHashable, TallySmall)
 
 TEST (StlNonHashable, GroupByWithNonHashableKey)
 
 TEST (StlStatefulCallable, FilterPreservesState)
 
 TEST (StlStatefulCallable, MapPreservesState)
 
 TEST (StlStatefulCallable, ForEachPreservesState)
 
 TEST (StlStatefulCallable, AllPreservesState)
 
 TEST (StlStatefulCallable, ExistsStopsEarly)
 
 TEST (StlEmptyContainer, LastReturnsNullopt)
 
 TEST (StlEmptyContainer, MinReturnsNullopt)
 
 TEST (StlEmptyContainer, MaxReturnsNullopt)
 
 TEST (StlEmptyContainer, ProductReturnsZero)
 
 TEST (StlEmptyContainer, SumReturnsZero)
 
 TEST (StlEmptyContainer, ScanLeftReturnsInit)
 
 TEST (StlEmptyContainer, ScanRightReturnsInit)
 
 TEST (StlEmptyContainer, InterspersReturnsEmpty)
 
 TEST (StlEmptyContainer, SlidingWindowReturnsEmpty)
 
 TEST (StlEmptyContainer, ChunksReturnsEmpty)
 
 TEST (StlPowerSetOverflow, ThrowsForLargeContainer)
 
 TEST (StlPowerSetOverflow, WorksForSmallContainer)
 
int main (int argc, char **argv)
 

Detailed Description

Tests for Ah Stl Functional.

Definition in file ah-stl-functional_test.cc.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

◆ TEST() [1/155]

TEST ( StlAll  ,
AllTrue   
)

◆ TEST() [2/155]

TEST ( StlAll  ,
SomeFalse   
)

◆ TEST() [3/155]

TEST ( StlArrangements  ,
ChooseTwo   
)

◆ TEST() [4/155]

TEST ( StlCartesianProduct  ,
Basic   
)

◆ TEST() [5/155]

TEST ( StlChunks  ,
Basic   
)

◆ TEST() [6/155]

TEST ( StlCombinations  ,
ChooseThree   
)

◆ TEST() [7/155]

TEST ( StlCombinations  ,
ChooseTwo   
)

◆ TEST() [8/155]

TEST ( StlCompare  ,
Equal   
)

◆ TEST() [9/155]

TEST ( StlCompare  ,
Greater   
)

◆ TEST() [10/155]

TEST ( StlCompare  ,
Less   
)

◆ TEST() [11/155]

TEST ( StlComposition  ,
DistinctThenMap   
)

◆ TEST() [12/155]

TEST ( StlComposition  ,
FilterThenDistinct   
)

◆ TEST() [13/155]

TEST ( StlComposition  ,
GroupByThenMap   
)

◆ TEST() [14/155]

TEST ( StlConcat  ,
Basic   
)

◆ TEST() [15/155]

TEST ( StlCount  ,
Basic   
)

◆ TEST() [16/155]

TEST ( StlCountValue  ,
Basic   
)

◆ TEST() [17/155]

TEST ( StlDistinct  ,
Basic   
)

◆ TEST() [18/155]

TEST ( StlDistinctBoundary  ,
ExactlyAtThreshold   
)

◆ TEST() [19/155]

TEST ( StlDistinctBoundary  ,
JustAboveThreshold   
)

◆ TEST() [20/155]

TEST ( StlDistinctBoundary  ,
JustBelowThreshold   
)

◆ TEST() [21/155]

TEST ( StlDistinctContainerTypes  ,
Deque   
)

◆ TEST() [22/155]

TEST ( StlDistinctContainerTypes  ,
List   
)

◆ TEST() [23/155]

TEST ( StlDistinctCustomType  ,
PointsLarge   
)

◆ TEST() [24/155]

TEST ( StlDistinctCustomType  ,
PointsSmall   
)

◆ TEST() [25/155]

TEST ( StlDistinctEdgeCases  ,
AllSame   
)

◆ TEST() [26/155]

TEST ( StlDistinctEdgeCases  ,
AllUnique   
)

◆ TEST() [27/155]

TEST ( StlDistinctEdgeCases  ,
EmptyContainer   
)

◆ TEST() [28/155]

TEST ( StlDistinctEdgeCases  ,
SingleElement   
)

◆ TEST() [29/155]

TEST ( StlDistinctOrder  ,
PreservesFirstOccurrence   
)

◆ TEST() [30/155]

TEST ( StlDistinctOrder  ,
PreservesFirstOccurrenceLarge   
)

◆ TEST() [31/155]

TEST ( StlDistinctPerformance  ,
LargeContainerUsesHashPath   
)

◆ TEST() [32/155]

TEST ( StlDistinctPerformance  ,
VeryLargeContainer   
)

◆ TEST() [33/155]

TEST ( StlDistinctSmall  ,
UsesLinearPath   
)

◆ TEST() [34/155]

TEST ( StlDistinctStrings  ,
Basic   
)

◆ TEST() [35/155]

TEST ( StlDistinctStrings  ,
Large   
)

◆ TEST() [36/155]

TEST ( StlDrop  ,
Basic   
)

◆ TEST() [37/155]

TEST ( StlDropWhile  ,
Basic   
)

◆ TEST() [38/155]

TEST ( StlEmptyContainer  ,
ChunksReturnsEmpty   
)

◆ TEST() [39/155]

TEST ( StlEmptyContainer  ,
InterspersReturnsEmpty   
)

◆ TEST() [40/155]

TEST ( StlEmptyContainer  ,
LastReturnsNullopt   
)

◆ TEST() [41/155]

TEST ( StlEmptyContainer  ,
MaxReturnsNullopt   
)

◆ TEST() [42/155]

TEST ( StlEmptyContainer  ,
MinReturnsNullopt   
)

◆ TEST() [43/155]

TEST ( StlEmptyContainer  ,
ProductReturnsZero   
)

◆ TEST() [44/155]

TEST ( StlEmptyContainer  ,
ScanLeftReturnsInit   
)

◆ TEST() [45/155]

TEST ( StlEmptyContainer  ,
ScanRightReturnsInit   
)

◆ TEST() [46/155]

TEST ( StlEmptyContainer  ,
SlidingWindowReturnsEmpty   
)

◆ TEST() [47/155]

TEST ( StlEmptyContainer  ,
SumReturnsZero   
)

◆ TEST() [48/155]

TEST ( StlEnumerateToPairs  ,
Basic   
)

◆ TEST() [49/155]

TEST ( StlEqual  ,
Equal   
)

◆ TEST() [50/155]

TEST ( StlEqual  ,
NotEqual   
)

◆ TEST() [51/155]

TEST ( StlExists  ,
NoneTrue   
)

◆ TEST() [52/155]

TEST ( StlExists  ,
SomeTrue   
)

◆ TEST() [53/155]

TEST ( StlFilter  ,
Basic   
)

◆ TEST() [54/155]

TEST ( StlFilterForwarding  ,
MutableLambda   
)

◆ TEST() [55/155]

TEST ( StlFilteri  ,
EvenIndices   
)

◆ TEST() [56/155]

TEST ( StlFind  ,
Found   
)

◆ TEST() [57/155]

TEST ( StlFind  ,
NotFound   
)

◆ TEST() [58/155]

TEST ( StlFindIndex  ,
Found   
)

◆ TEST() [59/155]

TEST ( StlFindLast  ,
Found   
)

◆ TEST() [60/155]

TEST ( StlFindMapi  ,
Found   
)

◆ TEST() [61/155]

TEST ( StlFirst  ,
Basic   
)

◆ TEST() [62/155]

TEST ( StlFirst  ,
Empty   
)

◆ TEST() [63/155]

TEST ( StlFlatMap  ,
Basic   
)

◆ TEST() [64/155]

TEST ( StlFlatten  ,
Basic   
)

◆ TEST() [65/155]

TEST ( StlFoldl  ,
Product   
)

◆ TEST() [66/155]

TEST ( StlFoldl  ,
Sum   
)

◆ TEST() [67/155]

TEST ( StlFoldlForwarding  ,
AccumulatorByValue   
)

◆ TEST() [68/155]

TEST ( StlFoldr  ,
ListConstruction   
)

◆ TEST() [69/155]

TEST ( StlFoldr  ,
Subtraction   
)

◆ TEST() [70/155]

TEST ( StlForEach  ,
Basic   
)

◆ TEST() [71/155]

TEST ( StlForEachIndexed  ,
Basic   
)

◆ TEST() [72/155]

TEST ( StlForwardListCompat  ,
Distinct   
)

◆ TEST() [73/155]

TEST ( StlForwardListCompat  ,
Drop   
)

◆ TEST() [74/155]

TEST ( StlForwardListCompat  ,
Filter   
)

◆ TEST() [75/155]

TEST ( StlForwardListCompat  ,
Foldl   
)

◆ TEST() [76/155]

TEST ( StlForwardListCompat  ,
GroupBy   
)

◆ TEST() [77/155]

TEST ( StlForwardListCompat  ,
Last   
)

◆ TEST() [78/155]

TEST ( StlForwardListCompat  ,
Map   
)

◆ TEST() [79/155]

TEST ( StlForwardListCompat  ,
TakeLast   
)

◆ TEST() [80/155]

TEST ( StlForwardListCompat  ,
Tally   
)

◆ TEST() [81/155]

TEST ( StlFunctional  ,
WorksWithDeque   
)

◆ TEST() [82/155]

TEST ( StlFunctional  ,
WorksWithList   
)

◆ TEST() [83/155]

TEST ( StlGenerate  ,
Basic   
)

◆ TEST() [84/155]

TEST ( StlGroup  ,
Basic   
)

◆ TEST() [85/155]

TEST ( StlGroupBy  ,
Basic   
)

◆ TEST() [86/155]

TEST ( StlGroupByContainerTypes  ,
List   
)

◆ TEST() [87/155]

TEST ( StlGroupByCustomType  ,
PointsByQuadrant   
)

◆ TEST() [88/155]

TEST ( StlGroupByEdgeCases  ,
AllSameKey   
)

◆ TEST() [89/155]

TEST ( StlGroupByEdgeCases  ,
EmptyContainer   
)

◆ TEST() [90/155]

TEST ( StlGroupByEdgeCases  ,
SingleElement   
)

◆ TEST() [91/155]

TEST ( StlGroupByOrder  ,
PreservesFirstOccurrence   
)

◆ TEST() [92/155]

TEST ( StlGroupByPerformance  ,
LargeContainerUsesHashPath   
)

◆ TEST() [93/155]

TEST ( StlGroupByStrings  ,
ByFirstChar   
)

◆ TEST() [94/155]

TEST ( StlGroupByStrings  ,
ByLength   
)

◆ TEST() [95/155]

TEST ( StlInit  ,
Basic   
)

◆ TEST() [96/155]

TEST ( StlIntersperse  ,
Basic   
)

◆ TEST() [97/155]

TEST ( StlLast  ,
Basic   
)

◆ TEST() [98/155]

TEST ( StlLinspace  ,
Basic   
)

◆ TEST() [99/155]

TEST ( StlMap  ,
Basic   
)

◆ TEST() [100/155]

TEST ( StlMap  ,
TypeChange   
)

◆ TEST() [101/155]

TEST ( StlMapForwarding  ,
LambdaWithCapture   
)

◆ TEST() [102/155]

TEST ( StlMapi  ,
Basic   
)

◆ TEST() [103/155]

TEST ( StlMax  ,
Basic   
)

◆ TEST() [104/155]

TEST ( StlMaxBy  ,
Basic   
)

◆ TEST() [105/155]

TEST ( StlMem  ,
Found   
)

◆ TEST() [106/155]

TEST ( StlMin  ,
Basic   
)

◆ TEST() [107/155]

TEST ( StlMinBy  ,
Basic   
)

◆ TEST() [108/155]

TEST ( StlMinMax  ,
Basic   
)

◆ TEST() [109/155]

TEST ( StlNone  ,
Basic   
)

◆ TEST() [110/155]

TEST ( StlNonHashable  ,
DistinctLarge   
)

◆ TEST() [111/155]

TEST ( StlNonHashable  ,
DistinctSmall   
)

◆ TEST() [112/155]

TEST ( StlNonHashable  ,
GroupByWithNonHashableKey   
)

◆ TEST() [113/155]

TEST ( StlNonHashable  ,
TallySmall   
)

◆ TEST() [114/155]

TEST ( StlNth  ,
Basic   
)

◆ TEST() [115/155]

TEST ( StlPartition  ,
Basic   
)

◆ TEST() [116/155]

TEST ( StlPermutations  ,
Basic   
)

◆ TEST() [117/155]

TEST ( StlPermutations  ,
TraverseWithStop   
)

◆ TEST() [118/155]

TEST ( StlPowerSet  ,
Basic   
)

◆ TEST() [119/155]

TEST ( StlPowerSetOverflow  ,
ThrowsForLargeContainer   
)

◆ TEST() [120/155]

TEST ( StlPowerSetOverflow  ,
WorksForSmallContainer   
)

◆ TEST() [121/155]

TEST ( StlProduct  ,
Basic   
)

◆ TEST() [122/155]

TEST ( StlRange  ,
BasicRange   
)

◆ TEST() [123/155]

TEST ( StlRange  ,
RangeWithStep   
)

◆ TEST() [124/155]

TEST ( StlRange  ,
SingleArgRange   
)

◆ TEST() [125/155]

TEST ( StlReject  ,
Basic   
)

◆ TEST() [126/155]

TEST ( StlRep  ,
Basic   
)

◆ TEST() [127/155]

TEST ( StlReverse  ,
Basic   
)

◆ TEST() [128/155]

TEST ( StlScanLeft  ,
RunningSum   
)

◆ TEST() [129/155]

TEST ( StlScanRight  ,
Basic   
)

◆ TEST() [130/155]

TEST ( StlSlidingWindow  ,
Basic   
)

◆ TEST() [131/155]

TEST ( StlSort  ,
Basic   
)

◆ TEST() [132/155]

TEST ( StlSortBy  ,
Basic   
)

◆ TEST() [133/155]

TEST ( StlSpan  ,
Basic   
)

◆ TEST() [134/155]

TEST ( StlSplitAt  ,
Basic   
)

◆ TEST() [135/155]

TEST ( StlStatefulCallable  ,
AllPreservesState   
)

◆ TEST() [136/155]

TEST ( StlStatefulCallable  ,
ExistsStopsEarly   
)

◆ TEST() [137/155]

TEST ( StlStatefulCallable  ,
FilterPreservesState   
)

◆ TEST() [138/155]

TEST ( StlStatefulCallable  ,
ForEachPreservesState   
)

◆ TEST() [139/155]

TEST ( StlStatefulCallable  ,
MapPreservesState   
)

◆ TEST() [140/155]

TEST ( StlSum  ,
Basic   
)

◆ TEST() [141/155]

TEST ( StlTail  ,
Basic   
)

◆ TEST() [142/155]

TEST ( StlTake  ,
Basic   
)

◆ TEST() [143/155]

TEST ( StlTakeLast  ,
Basic   
)

◆ TEST() [144/155]

TEST ( StlTakeWhile  ,
Basic   
)

◆ TEST() [145/155]

TEST ( StlTally  ,
Basic   
)

◆ TEST() [146/155]

TEST ( StlTallyContainerTypes  ,
List   
)

◆ TEST() [147/155]

TEST ( StlTallyCustomType  ,
Points   
)

◆ TEST() [148/155]

TEST ( StlTallyEdgeCases  ,
EmptyContainer   
)

◆ TEST() [149/155]

TEST ( StlTallyEdgeCases  ,
SingleElement   
)

◆ TEST() [150/155]

TEST ( StlTallyOrder  ,
PreservesFirstOccurrence   
)

◆ TEST() [151/155]

TEST ( StlTallyPerformance  ,
LargeContainerUsesHashPath   
)

◆ TEST() [152/155]

TEST ( StlTallySmall  ,
UsesLinearPath   
)

◆ TEST() [153/155]

TEST ( StlUnique  ,
Basic   
)

◆ TEST() [154/155]

TEST ( StlUnzipPairs  ,
Basic   
)

◆ TEST() [155/155]

TEST ( StlZipToPairs  ,
Basic   
)