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

Tests for Ah Functional. More...

#include <gtest/gtest.h>
#include <cctype>
#include <cmath>
#include <ah-zip.H>
#include <ahFunctional.H>
#include <ah-string-utils.H>
#include <tpl_dynSetTree.H>
#include <tpl_dynSetHash.H>
#include <tpl_odhash.H>
#include <tpl_dynArray.H>
Include dependency graph for ah-functional.cc:

Go to the source code of this file.

Classes

struct  TreeContainer
 
struct  Person
 
struct  CaseInsensitiveStringEqual
 
struct  CaseInsensitiveStringHash
 
struct  FloatToleranceEqual
 Helper for float comparison with tolerance. More...
 

Functions

 TEST (range, range_combs)
 
 TEST (rep, rep)
 
 TEST (set_range, set_range_with_op)
 
 TEST (each, each_variations)
 
 TEST_F (TreeContainer, pointers)
 
 TEST_F (TreeContainer, sublist)
 
 TEST_F (TreeContainer, ml)
 
 TEST_F (TreeContainer, gen_seq_list_tuples)
 
 TEST_F (TreeContainer, enumerate)
 
 TEST_F (TreeContainer, indexes_and_tindexes)
 
 TEST_F (TreeContainer, reverse_test)
 
 TEST_F (TreeContainer, partition_test)
 
 TEST_F (TreeContainer, diff_test)
 
 TEST_F (TreeContainer, containers_eq_test)
 
 TEST (Compare, comparisons)
 
 TEST_F (TreeContainer, zips)
 
 TEST (sequential_groups_test, sequential_groups)
 
 TEST (unique_sequential_test, unique_sequential)
 
 TEST (pair_iterator_test, pair_iterator)
 
 TEST (container_ops, insert_append_remove)
 
 TEST (assign_container_test, assign_container)
 
 TEST (flatten_test, flatten)
 
 TEST (is_inside_test, is_inside)
 
 TEST (is_equal_test, is_equal)
 
 TEST (FoundItem, FoundItemTests)
 
 TEST (range, range_precision)
 
 TEST (flatten_test, flatten_deep)
 
 TEST (each_test, each_edge)
 
 TEST (none_test, none_basic)
 
 TEST (find_ptr_test, find_ptr_basic)
 
 TEST (foldr_test, foldr_basic)
 
 TEST (sum_product_test, sum_product_basic)
 
 TEST (concat_test, concat_basic)
 
 TEST (take_while_test, take_while_basic)
 
 TEST (drop_while_test, drop_while_basic)
 
 TEST (flat_map_test, flat_map_basic)
 
 TEST (scanl_test, scanl_basic)
 
 TEST (min_max_test, min_max_basic)
 
 TEST (count_if_test, count_if_basic)
 
 TEST (contains_test, contains_basic)
 
 TEST (enumerate_tuple_test, enumerate_tuple_basic)
 
 TEST (zip_longest_test, basic_different_lengths)
 
 TEST (zip_longest_test, second_longer)
 
 TEST (zip_longest_test, equal_lengths)
 
 TEST (zip_longest_test, empty_containers)
 
 TEST (tzip_longest_test, basic_different_lengths)
 
 TEST (zip_longest_opt_test, basic_different_lengths)
 
 TEST (group_by_test, basic_grouping)
 
 TEST (group_by_test, group_by_parity)
 
 TEST (group_by_test, empty_container)
 
 TEST (group_by_test, single_element)
 
 TEST (group_by_reduce_test, sum_groups)
 
 TEST (maps_test, basic_map)
 
 TEST (maps_test, type_conversion)
 
 TEST (filter_map_test, conditional_map)
 
 TEST (filter_map_test, no_matches)
 
 TEST (split_test, basic_split)
 
 TEST (take_drop_test, take_basic)
 
 TEST (take_drop_test, drop_basic)
 
 TEST (take_drop_test, take_drop_range)
 
 TEST (to_dynlist_test, from_tree)
 
 TEST (to_dynlist_test, from_array)
 
 TEST (traverse_filter_test, count_evens)
 
 TEST (functional_stress_test, large_container)
 
 TEST (functional_stress_test, chained_operations)
 
 TEST (functional_edge_test, empty_container_operations)
 
 TEST (functional_edge_test, single_element)
 
 TEST (functional_complex_type_test, struct_operations)
 
 TEST (functional_composition_test, nested_maps)
 
 TEST (functional_composition_test, filter_then_map)
 
 TEST (quantifier_test, all_comprehensive)
 
 TEST (quantifier_test, exists_comprehensive)
 
 TEST (quantifier_test, none_comprehensive)
 
 TEST (scanl_comprehensive, scanl_sum_variants)
 
 TEST (scanl_comprehensive, scanl_custom_op)
 
 TEST (flat_map_comprehensive, basic_operations)
 
 TEST (flat_map_comprehensive, replicate_pattern)
 
 TEST (flat_map_comprehensive, empty_inner)
 
 TEST (concat_comprehensive, various_combinations)
 
 TEST (while_comprehensive, take_while_various)
 
 TEST (while_comprehensive, drop_while_various)
 
 TEST (reverse_comprehensive, various_sizes)
 
 TEST (min_max_ptr_comprehensive, with_comparator)
 
 TEST (min_max_ptr_comprehensive, minmax_combined)
 
 TEST (fold_comprehensive, foldl_associativity)
 
 TEST (fold_comprehensive, foldr_associativity)
 
 TEST (zip_comprehensive, different_lengths)
 
 TEST (zip_comprehensive, zip_all_predicate)
 
 TEST (group_by_comprehensive, custom_key)
 
 TEST (functional_performance, large_chain)
 
 TEST (functional_performance, deep_nesting)
 
 TEST (all_unique_overload, case_insensitive_strings_true)
 
 TEST (all_unique_overload, case_insensitive_strings_false)
 
 TEST (all_unique_overload, float_tolerance_true)
 
 TEST (all_unique_overload, float_tolerance_false)
 
 TEST (all_unique_overload, default_equality_true)
 
 TEST (all_unique_overload, default_equality_false)
 
 TEST (all_unique_overload, rvalue_comparator_false_case)
 
 TEST (all_unique_overload, rvalue_comparator_true_case)
 
 TEST (all_unique_overload, custom_hash_and_eq_true)
 
 TEST (all_unique_overload, custom_hash_and_eq_false)
 
 TEST (all_unique_overload, custom_hash_and_eq_lvalue_functors)
 
 TEST (all_unique_overload, custom_hash_functor_is_invoked)
 
 TEST (all_unique_overload, empty_container)
 
 TEST (all_unique_overload, single_element)
 

Detailed Description

Tests for Ah Functional.

Definition in file ah-functional.cc.

Function Documentation

◆ TEST() [1/94]

TEST ( all_unique_overload  ,
case_insensitive_strings_false   
)

◆ TEST() [2/94]

TEST ( all_unique_overload  ,
case_insensitive_strings_true   
)

◆ TEST() [3/94]

TEST ( all_unique_overload  ,
custom_hash_and_eq_false   
)

◆ TEST() [4/94]

TEST ( all_unique_overload  ,
custom_hash_and_eq_lvalue_functors   
)

◆ TEST() [5/94]

TEST ( all_unique_overload  ,
custom_hash_and_eq_true   
)

◆ TEST() [6/94]

TEST ( all_unique_overload  ,
custom_hash_functor_is_invoked   
)

◆ TEST() [7/94]

TEST ( all_unique_overload  ,
default_equality_false   
)

◆ TEST() [8/94]

TEST ( all_unique_overload  ,
default_equality_true   
)

◆ TEST() [9/94]

TEST ( all_unique_overload  ,
empty_container   
)

◆ TEST() [10/94]

TEST ( all_unique_overload  ,
float_tolerance_false   
)

◆ TEST() [11/94]

TEST ( all_unique_overload  ,
float_tolerance_true   
)

◆ TEST() [12/94]

TEST ( all_unique_overload  ,
rvalue_comparator_false_case   
)

◆ TEST() [13/94]

TEST ( all_unique_overload  ,
rvalue_comparator_true_case   
)

◆ TEST() [14/94]

TEST ( all_unique_overload  ,
single_element   
)

◆ TEST() [15/94]

TEST ( assign_container_test  ,
assign_container   
)

Definition at line 359 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [16/94]

TEST ( Compare  ,
comparisons   
)

◆ TEST() [17/94]

TEST ( concat_comprehensive  ,
various_combinations   
)

Definition at line 1260 of file ah-functional.cc.

References Aleph::concat(), and Aleph::divide_and_conquer_partition_dp().

◆ TEST() [18/94]

TEST ( concat_test  ,
concat_basic   
)

Definition at line 526 of file ah-functional.cc.

References Aleph::concat(), Aleph::divide_and_conquer_partition_dp(), l1, and l2.

◆ TEST() [19/94]

◆ TEST() [20/94]

TEST ( contains_test  ,
contains_basic   
)

Definition at line 654 of file ah-functional.cc.

References Aleph::contains(), Aleph::divide_and_conquer_partition_dp(), and l.

◆ TEST() [21/94]

TEST ( count_if_test  ,
count_if_basic   
)

Definition at line 642 of file ah-functional.cc.

References Aleph::count_if(), Aleph::divide_and_conquer_partition_dp(), and l.

◆ TEST() [22/94]

TEST ( drop_while_test  ,
drop_while_basic   
)

◆ TEST() [23/94]

TEST ( each  ,
each_variations   
)

◆ TEST() [24/94]

TEST ( each_test  ,
each_edge   
)

◆ TEST() [25/94]

TEST ( enumerate_tuple_test  ,
enumerate_tuple_basic   
)

◆ TEST() [26/94]

TEST ( filter_map_test  ,
conditional_map   
)

Definition at line 904 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::filter(), and l.

◆ TEST() [27/94]

TEST ( filter_map_test  ,
no_matches   
)

Definition at line 915 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::filter(), and l.

◆ TEST() [28/94]

TEST ( find_ptr_test  ,
find_ptr_basic   
)

◆ TEST() [29/94]

TEST ( flat_map_comprehensive  ,
basic_operations   
)

◆ TEST() [30/94]

TEST ( flat_map_comprehensive  ,
empty_inner   
)

Definition at line 1245 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::flat_map(), and l.

◆ TEST() [31/94]

TEST ( flat_map_comprehensive  ,
replicate_pattern   
)

◆ TEST() [32/94]

TEST ( flat_map_test  ,
flat_map_basic   
)

◆ TEST() [33/94]

TEST ( flatten_test  ,
flatten   
)

◆ TEST() [34/94]

TEST ( flatten_test  ,
flatten_deep   
)

◆ TEST() [35/94]

TEST ( fold_comprehensive  ,
foldl_associativity   
)

◆ TEST() [36/94]

TEST ( fold_comprehensive  ,
foldr_associativity   
)

◆ TEST() [37/94]

TEST ( foldr_test  ,
foldr_basic   
)

Definition at line 496 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), and l.

◆ TEST() [38/94]

◆ TEST() [39/94]

TEST ( functional_complex_type_test  ,
struct_operations   
)

◆ TEST() [40/94]

TEST ( functional_composition_test  ,
filter_then_map   
)

◆ TEST() [41/94]

TEST ( functional_composition_test  ,
nested_maps   
)

Definition at line 1116 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), and l.

◆ TEST() [42/94]

TEST ( functional_edge_test  ,
empty_container_operations   
)

◆ TEST() [43/94]

TEST ( functional_edge_test  ,
single_element   
)

◆ TEST() [44/94]

TEST ( functional_performance  ,
deep_nesting   
)

Definition at line 1474 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), l, and Aleph::range().

◆ TEST() [45/94]

TEST ( functional_performance  ,
large_chain   
)

◆ TEST() [46/94]

TEST ( functional_stress_test  ,
chained_operations   
)

◆ TEST() [47/94]

TEST ( functional_stress_test  ,
large_container   
)

◆ TEST() [48/94]

TEST ( group_by_comprehensive  ,
custom_key   
)

Definition at line 1426 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::group_by(), and l.

◆ TEST() [49/94]

TEST ( group_by_reduce_test  ,
sum_groups   
)

◆ TEST() [50/94]

TEST ( group_by_test  ,
basic_grouping   
)

Definition at line 800 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::group_by(), and l.

◆ TEST() [51/94]

TEST ( group_by_test  ,
empty_container   
)

◆ TEST() [52/94]

TEST ( group_by_test  ,
group_by_parity   
)

Definition at line 823 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::group_by(), and l.

◆ TEST() [53/94]

TEST ( group_by_test  ,
single_element   
)

◆ TEST() [54/94]

TEST ( is_equal_test  ,
is_equal   
)

◆ TEST() [55/94]

TEST ( is_inside_test  ,
is_inside   
)

Definition at line 377 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::is_inside(), and l.

◆ TEST() [56/94]

TEST ( maps_test  ,
basic_map   
)

Definition at line 888 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), and l.

◆ TEST() [57/94]

TEST ( maps_test  ,
type_conversion   
)

Definition at line 896 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), l, and Aleph::to_string().

◆ TEST() [58/94]

TEST ( min_max_ptr_comprehensive  ,
minmax_combined   
)

◆ TEST() [59/94]

TEST ( min_max_ptr_comprehensive  ,
with_comparator   
)

◆ TEST() [60/94]

TEST ( min_max_test  ,
min_max_basic   
)

◆ TEST() [61/94]

TEST ( none_test  ,
none_basic   
)

Definition at line 464 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), l, and Aleph::none().

◆ TEST() [62/94]

TEST ( pair_iterator_test  ,
pair_iterator   
)

◆ TEST() [63/94]

TEST ( quantifier_test  ,
all_comprehensive   
)

Definition at line 1140 of file ah-functional.cc.

References Aleph::all(), Aleph::divide_and_conquer_partition_dp(), and l.

◆ TEST() [64/94]

TEST ( quantifier_test  ,
exists_comprehensive   
)

Definition at line 1153 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::exists(), and l.

◆ TEST() [65/94]

TEST ( quantifier_test  ,
none_comprehensive   
)

Definition at line 1166 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), l, and Aleph::none().

◆ TEST() [66/94]

TEST ( range  ,
range_combs   
)

◆ TEST() [67/94]

TEST ( range  ,
range_precision   
)

Definition at line 418 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::nrange(), and r.

◆ TEST() [68/94]

TEST ( rep  ,
rep   
)

Definition at line 61 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), and Aleph::rep().

◆ TEST() [69/94]

TEST ( reverse_comprehensive  ,
various_sizes   
)

◆ TEST() [70/94]

TEST ( scanl_comprehensive  ,
scanl_custom_op   
)

Definition at line 1204 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), and l.

◆ TEST() [71/94]

TEST ( scanl_comprehensive  ,
scanl_sum_variants   
)

◆ TEST() [72/94]

TEST ( scanl_test  ,
scanl_basic   
)

Definition at line 588 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), l, and Aleph::scanl_sum().

◆ TEST() [73/94]

TEST ( sequential_groups_test  ,
sequential_groups   
)

◆ TEST() [74/94]

TEST ( set_range  ,
set_range_with_op   
)

Definition at line 67 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), and r.

◆ TEST() [75/94]

TEST ( split_test  ,
basic_split   
)

◆ TEST() [76/94]

TEST ( sum_product_test  ,
sum_product_basic   
)

◆ TEST() [77/94]

TEST ( take_drop_test  ,
drop_basic   
)

◆ TEST() [78/94]

TEST ( take_drop_test  ,
take_basic   
)

◆ TEST() [79/94]

TEST ( take_drop_test  ,
take_drop_range   
)

◆ TEST() [80/94]

TEST ( take_while_test  ,
take_while_basic   
)

◆ TEST() [81/94]

TEST ( to_dynlist_test  ,
from_array   
)

◆ TEST() [82/94]

TEST ( to_dynlist_test  ,
from_tree   
)

◆ TEST() [83/94]

TEST ( traverse_filter_test  ,
count_evens   
)

◆ TEST() [84/94]

TEST ( tzip_longest_test  ,
basic_different_lengths   
)

◆ TEST() [85/94]

TEST ( unique_sequential_test  ,
unique_sequential   
)

◆ TEST() [86/94]

TEST ( while_comprehensive  ,
drop_while_various   
)

◆ TEST() [87/94]

TEST ( while_comprehensive  ,
take_while_various   
)

◆ TEST() [88/94]

TEST ( zip_comprehensive  ,
different_lengths   
)

◆ TEST() [89/94]

TEST ( zip_comprehensive  ,
zip_all_predicate   
)

◆ TEST() [90/94]

TEST ( zip_longest_opt_test  ,
basic_different_lengths   
)

◆ TEST() [91/94]

TEST ( zip_longest_test  ,
basic_different_lengths   
)

◆ TEST() [92/94]

TEST ( zip_longest_test  ,
empty_containers   
)

◆ TEST() [93/94]

TEST ( zip_longest_test  ,
equal_lengths   
)

◆ TEST() [94/94]

TEST ( zip_longest_test  ,
second_longer   
)

◆ TEST_F() [1/11]

TEST_F ( TreeContainer  ,
containers_eq_test   
)

◆ TEST_F() [2/11]

TEST_F ( TreeContainer  ,
diff_test   
)

◆ TEST_F() [3/11]

◆ TEST_F() [4/11]

TEST_F ( TreeContainer  ,
gen_seq_list_tuples   
)

◆ TEST_F() [5/11]

TEST_F ( TreeContainer  ,
indexes_and_tindexes   
)

◆ TEST_F() [6/11]

◆ TEST_F() [7/11]

TEST_F ( TreeContainer  ,
partition_test   
)

◆ TEST_F() [8/11]

◆ TEST_F() [9/11]

TEST_F ( TreeContainer  ,
reverse_test   
)

Definition at line 182 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), l, N, and Aleph::reverse().

◆ TEST_F() [10/11]

TEST_F ( TreeContainer  ,
sublist   
)

Definition at line 109 of file ah-functional.cc.

References Aleph::divide_and_conquer_partition_dp(), Aleph::sublist(), and tbl.

◆ TEST_F() [11/11]