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

Tests for Ah Dry Mixin. More...

#include <gtest/gtest.h>
#include <vector>
#include <string>
#include <htlist.H>
#include <ah-dry-mixin.H>
#include <tpl_array.H>
#include <tpl_dynArray.H>
Include dependency graph for ah-dry-mixin_test.cc:

Go to the source code of this file.

Classes

class  MixinVector< T >
 Simple test container using std::vector internally but with Aleph mixins. More...
 
class  MixinVector< T >::Iterator
 
struct  Person
 
struct  NoOpType
 
struct  EqOnlyType
 
struct  LtOnlyType
 

Functions

 TEST (TraverseMixin, BasicTraverse)
 
 TEST (TraverseMixin, TraverseEarlyStop)
 
 TEST (TraverseMixin, TraverseEmpty)
 
 TEST (FunctionalMixin, ForEach)
 
 TEST (FunctionalMixin, MutableForEach)
 
 TEST (FunctionalMixin, AllPredicate)
 
 TEST (FunctionalMixin, AllEmpty)
 
 TEST (FunctionalMixin, ExistsPredicate)
 
 TEST (FunctionalMixin, ExistsEmpty)
 
 TEST (FunctionalMixin, Maps)
 
 TEST (FunctionalMixin, MapsTypeConversion)
 
 TEST (FunctionalMixin, Filter)
 
 TEST (FunctionalMixin, FilterNone)
 
 TEST (FunctionalMixin, Foldl)
 
 TEST (FunctionalMixin, FoldlEmpty)
 
 TEST (FunctionalMixin, Partition)
 
 TEST (FunctionalMixin, Length)
 
 TEST (FunctionalMixin, Rev)
 
 TEST (FunctionalMixin, Take)
 
 TEST (FunctionalMixin, Drop)
 
 TEST (LocateMixin, Nth)
 
 TEST (LocateMixin, NthNe)
 
 TEST (LocateMixin, NthModify)
 
 TEST (LocateMixin, FindPtr)
 
 TEST (LocateMixin, FindPtrModify)
 
 TEST (LocateMixin, FindItem)
 
 TEST (KeysMixin, Keys)
 
 TEST (KeysMixin, Items)
 
 TEST (ChainedOps, FilterThenMap)
 
 TEST (ChainedOps, MapThenFold)
 
 TEST (ComplexTypes, StructOperations)
 
 TEST (FunctionalMixin, Sum)
 
 TEST (FunctionalMixin, SumEmpty)
 
 TEST (FunctionalMixin, SumStrings)
 
 TEST (FunctionalMixin, Product)
 
 TEST (FunctionalMixin, ProductEmpty)
 
 TEST (FunctionalMixin, Min)
 
 TEST (FunctionalMixin, MinEmpty)
 
 TEST (FunctionalMixin, MinSingle)
 
 TEST (FunctionalMixin, Max)
 
 TEST (FunctionalMixin, MaxEmpty)
 
 TEST (FunctionalMixin, MaxSingle)
 
 TEST (FunctionalMixin, MinByCustomComparator)
 
 TEST (FunctionalMixin, MaxByCustomComparator)
 
 TEST (FunctionalMixin, MinMaxWithNegatives)
 
 TEST (FunctionalMixin, HasValue)
 
 TEST (FunctionalMixin, HasValueEmpty)
 
 TEST (FunctionalMixin, HasValueStrings)
 
 TEST (FunctionalMixin, None)
 
 TEST (FunctionalMixin, NoneEmpty)
 
 TEST (FunctionalMixin, NoneLValuePredicate)
 
 TEST (FunctionalMixin, CountIf)
 
 TEST (FunctionalMixin, CountIfEmpty)
 
 TEST (FunctionalMixin, First)
 
 TEST (FunctionalMixin, FirstEmpty)
 
 TEST (FunctionalMixin, FirstOr)
 
 TEST (FunctionalMixin, Last)
 
 TEST (FunctionalMixin, LastEmpty)
 
 TEST (FunctionalMixin, LastOr)
 
 TEST (FunctionalMixin, FirstLastSingleElement)
 
 TEST (FunctionalMixin, Enumerate)
 
 TEST (FunctionalMixin, EnumerateEmpty)
 
 TEST (FunctionalMixin, FindIndex)
 
 TEST (FunctionalMixin, FindIndexEmpty)
 
 TEST (FunctionalMixin, IndexOf)
 
 TEST (FunctionalMixin, IndexOfStrings)
 
 TEST (ChainedOps, SumAfterFoldl)
 
 TEST (ChainedOps, MinMaxOnMixinVector)
 
 TEST (ChainedOps, EnumerateThenCountElements)
 
 TEST (StressTest, LargeContainer)
 
 TEST (StressTest, LargeEnumerate)
 
 TEST (ConstraintTest, MethodsWithoutConstraintsWork)
 
 TEST (ConstraintTest, EqualityOnlyType)
 
 TEST (ConstraintTest, LessThanOnlyType)
 
 TEST (FunctionalMixin, Unique)
 
 TEST (FunctionalMixin, UniqueEmpty)
 
 TEST (FunctionalMixin, UniqueSingleElement)
 
 TEST (FunctionalMixin, UniqueNoDuplicates)
 
 TEST (FunctionalMixin, UniqueBy)
 
 TEST (FunctionalMixin, Intersperse)
 
 TEST (FunctionalMixin, IntersperseEmpty)
 
 TEST (FunctionalMixin, IntersperseSingleElement)
 
 TEST (FunctionalMixin, IntersperseStrings)
 
 TEST (FunctionalMixin, Chunk)
 
 TEST (FunctionalMixin, ChunkExactDivision)
 
 TEST (FunctionalMixin, ChunkEmpty)
 
 TEST (FunctionalMixin, ChunkSizeZero)
 
 TEST (FunctionalMixin, ChunkLargerThanContainer)
 
 TEST (FunctionalMixin, Sliding)
 
 TEST (FunctionalMixin, SlidingWithStep)
 
 TEST (FunctionalMixin, SlidingEmpty)
 
 TEST (FunctionalMixin, SlidingSizeZero)
 
 TEST (FunctionalMixin, SlidingLargerThanContainer)
 
 TEST (FunctionalMixin, ToVector)
 
 TEST (FunctionalMixin, ToVectorEmpty)
 
 TEST (FunctionalMixin, ToDynlist)
 
 TEST (FunctionalMixin, ToDynlistEmpty)
 
 TEST (FunctionalMixin, ToDynlistRoundTrip)
 
 TEST (FunctionalMixin, Join)
 
 TEST (FunctionalMixin, JoinSingleElement)
 
 TEST (FunctionalMixin, JoinEmpty)
 
 TEST (FunctionalMixin, JoinStr)
 
 TEST (FunctionalMixin, JoinStrEmpty)
 
 TEST (FunctionalMixin, ZipWith)
 
 TEST (FunctionalMixin, ZipWithDifferentLengths)
 
 TEST (FunctionalMixin, ZipWithEmpty)
 
 TEST (FunctionalMixin, ZipWithBothEmpty)
 
 TEST (ChainedOps, UniqueVerify)
 
 TEST (ChainedOps, ChunkAndSum)
 
 TEST (DynListIntegration, ExistingMethodsWork)
 
static Array< int > make_array (std::initializer_list< int > vals)
 
static DynArray< int > make_dynarray (std::initializer_list< int > vals)
 
 TEST (EqualSequenceMethod, SizeMismatchReturnsFalse)
 
 TEST (EqualSequenceMethod, SelfComparisonReturnsTrue)
 
 TEST (EqualSequenceMethod, SameElementsDifferentOrderReturnsFalse)
 
 TEST (EqualSequenceMethod, DuplicateMultiplicityDifferenceReturnsFalse)
 
 TEST (EqualSequenceMethod, EqualContainersReturnTrue)
 
 TEST (EqualSequenceMethod, EmptyContainersAreEqual)
 
 TEST (EqualSequenceMethod, SingleElement)
 
 TEST (EqualSequenceMethod, LargeInputs)
 

Detailed Description

Tests for Ah Dry Mixin.

Definition in file ah-dry-mixin_test.cc.

Function Documentation

◆ make_array()

static Array< int > make_array ( std::initializer_list< int >  vals)
static

◆ make_dynarray()

static DynArray< int > make_dynarray ( std::initializer_list< int >  vals)
static

◆ TEST() [1/118]

◆ TEST() [2/118]

TEST ( ChainedOps  ,
EnumerateThenCountElements   
)

◆ TEST() [3/118]

◆ TEST() [4/118]

TEST ( ChainedOps  ,
MapThenFold   
)

◆ TEST() [5/118]

◆ TEST() [6/118]

◆ TEST() [7/118]

TEST ( ChainedOps  ,
UniqueVerify   
)

◆ TEST() [8/118]

TEST ( ComplexTypes  ,
StructOperations   
)

◆ TEST() [9/118]

◆ TEST() [10/118]

◆ TEST() [11/118]

◆ TEST() [12/118]

◆ TEST() [13/118]

TEST ( EqualSequenceMethod  ,
DuplicateMultiplicityDifferenceReturnsFalse   
)

◆ TEST() [14/118]

TEST ( EqualSequenceMethod  ,
EmptyContainersAreEqual   
)

◆ TEST() [15/118]

◆ TEST() [16/118]

◆ TEST() [17/118]

TEST ( EqualSequenceMethod  ,
SameElementsDifferentOrderReturnsFalse   
)

◆ TEST() [18/118]

◆ TEST() [19/118]

◆ TEST() [20/118]

◆ TEST() [21/118]

◆ TEST() [22/118]

◆ TEST() [23/118]

◆ TEST() [24/118]

◆ TEST() [25/118]

TEST ( FunctionalMixin  ,
ChunkExactDivision   
)

◆ TEST() [26/118]

TEST ( FunctionalMixin  ,
ChunkLargerThanContainer   
)

◆ TEST() [27/118]

◆ TEST() [28/118]

◆ TEST() [29/118]

◆ TEST() [30/118]

◆ TEST() [31/118]

◆ TEST() [32/118]

◆ TEST() [33/118]

◆ TEST() [34/118]

TEST ( FunctionalMixin  ,
ExistsPredicate   
)

◆ TEST() [35/118]

◆ TEST() [36/118]

◆ TEST() [37/118]

◆ TEST() [38/118]

◆ TEST() [39/118]

◆ TEST() [40/118]

◆ TEST() [41/118]

◆ TEST() [42/118]

◆ TEST() [43/118]

◆ TEST() [44/118]

◆ TEST() [45/118]

◆ TEST() [46/118]

◆ TEST() [47/118]

◆ TEST() [48/118]

◆ TEST() [49/118]

◆ TEST() [50/118]

◆ TEST() [51/118]

◆ TEST() [52/118]

◆ TEST() [53/118]

TEST ( FunctionalMixin  ,
IntersperseSingleElement   
)

◆ TEST() [54/118]

◆ TEST() [55/118]

◆ TEST() [56/118]

◆ TEST() [57/118]

TEST ( FunctionalMixin  ,
JoinSingleElement   
)

◆ TEST() [58/118]

◆ TEST() [59/118]

◆ TEST() [60/118]

◆ TEST() [61/118]

◆ TEST() [62/118]

◆ TEST() [63/118]

◆ TEST() [64/118]

◆ TEST() [65/118]

◆ TEST() [66/118]

◆ TEST() [67/118]

TEST ( FunctionalMixin  ,
MaxByCustomComparator   
)

◆ TEST() [68/118]

◆ TEST() [69/118]

◆ TEST() [70/118]

◆ TEST() [71/118]

TEST ( FunctionalMixin  ,
MinByCustomComparator   
)

◆ TEST() [72/118]

◆ TEST() [73/118]

◆ TEST() [74/118]

◆ TEST() [75/118]

◆ TEST() [76/118]

◆ TEST() [77/118]

◆ TEST() [78/118]

TEST ( FunctionalMixin  ,
NoneLValuePredicate   
)

◆ TEST() [79/118]

◆ TEST() [80/118]

◆ TEST() [81/118]

◆ TEST() [82/118]

◆ TEST() [83/118]

◆ TEST() [84/118]

◆ TEST() [85/118]

TEST ( FunctionalMixin  ,
SlidingLargerThanContainer   
)

◆ TEST() [86/118]

◆ TEST() [87/118]

◆ TEST() [88/118]

◆ TEST() [89/118]

◆ TEST() [90/118]

◆ TEST() [91/118]

◆ TEST() [92/118]

◆ TEST() [93/118]

◆ TEST() [94/118]

◆ TEST() [95/118]

◆ TEST() [96/118]

◆ TEST() [97/118]

◆ TEST() [98/118]

◆ TEST() [99/118]

◆ TEST() [100/118]

TEST ( FunctionalMixin  ,
UniqueNoDuplicates   
)

◆ TEST() [101/118]

TEST ( FunctionalMixin  ,
UniqueSingleElement   
)

◆ TEST() [102/118]

◆ TEST() [103/118]

◆ TEST() [104/118]

TEST ( FunctionalMixin  ,
ZipWithDifferentLengths   
)

◆ TEST() [105/118]

◆ TEST() [106/118]

◆ TEST() [107/118]

TEST ( KeysMixin  ,
Keys   
)

◆ TEST() [108/118]

◆ TEST() [109/118]

◆ TEST() [110/118]

◆ TEST() [111/118]

◆ TEST() [112/118]

TEST ( LocateMixin  ,
NthModify   
)

◆ TEST() [113/118]

◆ TEST() [114/118]

◆ TEST() [115/118]

TEST ( StressTest  ,
LargeEnumerate   
)

◆ TEST() [116/118]

◆ TEST() [117/118]

◆ TEST() [118/118]