Revision | 7d9c15e382f8af33f4a759e0df5910b8707fdf11 (tree) |
---|---|
Time | 2022-06-25 18:20:19 |
Author | Antoon Pardon <aej@pard...> |
Commiter | Antoon Pardon |
Made tests somewhat more extensive
@@ -1,3 +1,3 @@ | ||
1 | -version = '0.01.01j' | |
2 | -modified = '2022-06-23 @ 16:23:51' | |
1 | +version = '0.01.02g' | |
2 | +modified = '2022-06-25 @ 11:14:01' | |
3 | 3 | installed = '*********************' |
@@ -3,6 +3,7 @@ | ||
3 | 3 | |
4 | 4 | from unittest import TestCase, main as unitmain |
5 | 5 | from random import shuffle |
6 | +from itertools import product | |
6 | 7 | |
7 | 8 | from typing import List |
8 | 9 |
@@ -10,6 +11,9 @@ | ||
10 | 11 | from AGPlib.iterators import PipeIterator, Apply, Map, concat, SubMap, Select, Discard |
11 | 12 | # pylint: enable=unused-import |
12 | 13 | |
14 | +SIZE_LIMIT = 101 | |
15 | + | |
16 | + | |
13 | 17 | def shuffled_range_list(*args) -> List[int]: |
14 | 18 | step = 1 |
15 | 19 | start = 0 |
@@ -50,65 +54,71 @@ | ||
50 | 54 | """ |
51 | 55 | |
52 | 56 | def test_apply(s): |
53 | - source = shuffled_range_list(100) | |
54 | - for function in list, sum: | |
55 | - Function = Apply(function) | |
56 | - result1 = function(source) | |
57 | - result2 = source | Function | |
58 | - result3 = source >> Function | |
59 | - s.assertEqual(result1, result2) | |
60 | - s.assertEqual(result1, result3) | |
57 | + for size in range(SIZE_LIMIT): | |
58 | + source = shuffled_range_list(size) | |
59 | + for function in list, sum: | |
60 | + Function = Apply(function) | |
61 | + result1 = function(source) | |
62 | + result2 = source | Function | |
63 | + result3 = source >> Function | |
64 | + s.assertEqual(result1, result2) | |
65 | + s.assertEqual(result1, result3) | |
61 | 66 | |
62 | 67 | def test_map(s): |
63 | - source = shuffled_range_list(100) | |
64 | - for function in square, cube, is_odd, collatz: | |
65 | - result0 = list(map(function, source)) | |
66 | - result1 = source | Map(function) | Apply(list) | |
67 | - s.assertEqual(result0, result1) | |
68 | - result2 = source >> Map(function) >> Apply(list) | |
69 | - s.assertEqual(result0, result2) | |
68 | + for size in range(SIZE_LIMIT): | |
69 | + source = shuffled_range_list(size) | |
70 | + for function in square, cube, is_odd, collatz: | |
71 | + result0 = list(map(function, source)) | |
72 | + result1 = source | Map(function) | Apply(list) | |
73 | + s.assertEqual(result0, result1) | |
74 | + result2 = source >> Map(function) >> Apply(list) | |
75 | + s.assertEqual(result0, result2) | |
70 | 76 | |
71 | 77 | def test_concat(s): |
72 | 78 | # pylint: disable=redefined-outer-name |
73 | 79 | List = Apply(list) |
74 | - source_list = [shuffled_range_list(100) for _ in range(100)] | |
75 | - result0 = list(concater(source_list)) | |
76 | - result1 = source_list | concat | List | |
77 | - s.assertEqual(result0, result1) | |
78 | - result2 = source_list >> concat >> List | |
79 | - s.assertEqual(result0, result2) | |
80 | + for list_size, sub_size in product(range(0, SIZE_LIMIT, 5), range(0, SIZE_LIMIT, 4)): | |
81 | + source_list = [shuffled_range_list(sub_size) for _ in range(list_size)] | |
82 | + result0 = list(concater(source_list)) | |
83 | + result1 = source_list | concat | List | |
84 | + s.assertEqual(result0, result1) | |
85 | + result2 = source_list >> concat >> List | |
86 | + s.assertEqual(result0, result2) | |
80 | 87 | |
81 | 88 | def test_submap(s): |
82 | 89 | # pylint: disable=redefined-outer-name |
83 | 90 | List = Apply(list) |
84 | - source_list = [shuffled_range_list(100) for _ in range(100)] | |
85 | - for function in square, cube, is_odd, collatz: | |
86 | - result0 = [list(map(function, lst)) for lst in source_list] | |
87 | - result1 = source_list | SubMap(function) | Map(list) | List | |
88 | - result2 = source_list >> SubMap(function) >> Map(list) >> List | |
89 | - s.assertEqual(result0, result1) | |
90 | - s.assertEqual(result0, result2) | |
91 | + for list_size, sub_size in product(range(0, SIZE_LIMIT, 5), range(0, SIZE_LIMIT, 4)): | |
92 | + source_list = [shuffled_range_list(sub_size) for _ in range(list_size)] | |
93 | + for function in square, cube, is_odd, collatz: | |
94 | + result0 = [list(map(function, lst)) for lst in source_list] | |
95 | + result1 = source_list | SubMap(function) | Map(list) | List | |
96 | + result2 = source_list >> SubMap(function) >> Map(list) >> List | |
97 | + s.assertEqual(result0, result1) | |
98 | + s.assertEqual(result0, result2) | |
91 | 99 | |
92 | 100 | def test_select(s): |
93 | 101 | # pylint: disable=redefined-outer-name |
94 | 102 | List = Apply(list) |
95 | - source = shuffled_range_list(100) | |
96 | - for condition in [is_odd, is_larger_than_50]: | |
97 | - result0 = [nr for nr in source if condition(nr)] | |
98 | - result1 = source | Select(condition) | List | |
99 | - result2 = source >> Select(condition) >> List | |
100 | - s.assertEqual(result0, result1) | |
101 | - s.assertEqual(result0, result2) | |
103 | + for size in range(SIZE_LIMIT): | |
104 | + source = shuffled_range_list(size) | |
105 | + for condition in [is_odd, is_larger_than_50]: | |
106 | + result0 = [nr for nr in source if condition(nr)] | |
107 | + result1 = source | Select(condition) | List | |
108 | + result2 = source >> Select(condition) >> List | |
109 | + s.assertEqual(result0, result1) | |
110 | + s.assertEqual(result0, result2) | |
102 | 111 | |
103 | 112 | def test_discard(s): |
104 | 113 | # pylint: disable=redefined-outer-name |
105 | 114 | List = Apply(list) |
106 | - source = shuffled_range_list(100) | |
107 | - for condition in [is_odd, is_larger_than_50]: | |
108 | - result0 = [nr for nr in source if not condition(nr)] | |
109 | - result1 = source | Discard(condition) | List | |
110 | - result2 = source >> Discard(condition) >> List | |
111 | - s.assertEqual(result0, result1) | |
112 | - s.assertEqual(result0, result2) | |
115 | + for size in range(SIZE_LIMIT): | |
116 | + source = shuffled_range_list(size) | |
117 | + for condition in [is_odd, is_larger_than_50]: | |
118 | + result0 = [nr for nr in source if not condition(nr)] | |
119 | + result1 = source | Discard(condition) | List | |
120 | + result2 = source >> Discard(condition) >> List | |
121 | + s.assertEqual(result0, result1) | |
122 | + s.assertEqual(result0, result2) | |
113 | 123 | |
114 | 124 | unitmain() |