Browse code
chore(transducers): record test dependencies
Edward authored on 09/01/2021 10:57:36
Showing 2 changed files
Showing 2 changed files
... | ... |
@@ -231,6 +231,11 @@ |
231 | 231 |
else collect (cons nil next)) |
232 | 232 |
'vector))))) |
233 | 233 |
|
234 |
+(defun-ct inc (inc) |
|
235 |
+ (declare (optimize (speed 3))) |
|
236 |
+ (lambda (base) |
|
237 |
+ (+ base inc))) |
|
238 |
+ |
|
234 | 239 |
(defun-ct cumsum |
235 | 240 |
(&key (add-fun #'+) (key #'identity) (combine (lambda (x y) y x)) (zero 0)) |
236 | 241 |
(lambda (seq) |
... | ... |
@@ -12,7 +12,8 @@ |
12 | 12 |
'data-lens.transducers:list-builder |
13 | 13 |
'(1 2 3))))) |
14 | 14 |
|
15 |
-(5am:def-test mv-mapping (:suite :data-lens.transducers) |
|
15 |
+(5am:def-test mv-mapping (:suite :data-lens.transducers |
|
16 |
+ :depends-on mapping) |
|
16 | 17 |
(5am:is (equal '((2 0) (3 1) (4 2)) |
17 | 18 |
(data-lens.transducers:transduce (data-lens.transducers:mv-mapping |
18 | 19 |
(lambda (it) |
... | ... |
@@ -20,7 +21,8 @@ |
20 | 21 |
'data-lens.transducers:list-builder |
21 | 22 |
'(1 2 3))))) |
22 | 23 |
|
23 |
-(5am:def-test mv-selecting (:suite :data-lens.transducers) |
|
24 |
+(5am:def-test mv-selecting (:suite :data-lens.transducers |
|
25 |
+ :depends-on mapping) |
|
24 | 26 |
(5am:is (equal '(2 4) |
25 | 27 |
(data-lens.transducers:transduce (data-lens.transducers:mv-selecting |
26 | 28 |
(lambda (it) |
... | ... |
@@ -35,7 +37,8 @@ |
35 | 37 |
'data-lens.transducers:list-builder |
36 | 38 |
'(1 2))))) |
37 | 39 |
|
38 |
-(5am:def-test filtering (:suite :data-lens.transducers) |
|
40 |
+(5am:def-test filtering (:suite :data-lens.transducers |
|
41 |
+ :depends-on mapping) |
|
39 | 42 |
(5am:is (equal '(1 3) |
40 | 43 |
(data-lens.transducers:transduce (data-lens.transducers:filtering 'oddp) |
41 | 44 |
'data-lens.transducers:list-builder |
... | ... |
@@ -48,7 +51,8 @@ |
48 | 51 |
'data-lens.transducers:list-builder |
49 | 52 |
'(1 2 3))))) |
50 | 53 |
|
51 |
-(5am:def-test deduping (:suite :data-lens.transducers) |
|
54 |
+(5am:def-test deduping (:suite :data-lens.transducers |
|
55 |
+ :depends-on mapping) |
|
52 | 56 |
(5am:is (equal '(1 2 1 2 3 4 1) |
53 | 57 |
(data-lens.transducers:transduce (data-lens.transducers:deduping) |
54 | 58 |
'data-lens.transducers:list-builder |
... | ... |
@@ -67,7 +71,8 @@ |
67 | 71 |
(data-lens.transducers:repeating* third-number :count (+ 1 (random 3))))) |
68 | 72 |
(list first-number second-number third-number))))) |
69 | 73 |
|
70 |
-(5am:def-test compressing-runs (:suite :data-lens.transducers) |
|
74 |
+(5am:def-test compressing-runs (:suite :data-lens.transducers |
|
75 |
+ :depends-on mapping) |
|
71 | 76 |
(5am:is (equal '(1 2 1 2 3 4 1) |
72 | 77 |
(data-lens.transducers:transduce (data-lens.transducers:compressing-runs) |
73 | 78 |
'data-lens.transducers:list-builder |
... | ... |
@@ -107,23 +112,15 @@ |
107 | 112 |
(2 4 4 4) (2 5 5 5) |
108 | 113 |
(3 6 6 6)))))) |
109 | 114 |
|
110 |
-(5am:def-test collecting (:suite :data-lens.transducers) |
|
111 |
- (5am:is (equal '(1 3 6 9 13 18 22 27 33 40) |
|
112 |
- (data-lens.transducers:transduce (data-lens:• (data-lens.transducers:taking 5) |
|
113 |
- (data-lens.transducers:mapcatting 'identity) |
|
114 |
- (data-lens.transducers::collecting '+)) |
|
115 |
- 'data-lens.transducers:list-builder |
|
116 |
- (loop for x from 1 |
|
117 |
- repeat 4 |
|
118 |
- collect (data-lens.transducers:iota :start x :count x)))))) |
|
119 |
- |
|
120 |
-(5am:def-test catting (:suite :data-lens.transducers) |
|
115 |
+(5am:def-test catting (:suite :data-lens.transducers |
|
116 |
+ :depends-on mapping) |
|
121 | 117 |
(5am:is (equal '(1 1 2 1 2 2 3 3 4 1) |
122 | 118 |
(data-lens.transducers:transduce (data-lens.transducers:catting) |
123 | 119 |
'data-lens.transducers:list-builder |
124 | 120 |
'((1 1) (2 1 2) (2) (3 3) (4 1)))))) |
125 | 121 |
|
126 |
-(5am:def-test mapcatting (:suite :data-lens.transducers) |
|
122 |
+(5am:def-test mapcatting (:suite :data-lens.transducers |
|
123 |
+ :depends-on catting) |
|
127 | 124 |
(5am:is (equal '(1 1 2 1 2 2 3 3 4 1) |
128 | 125 |
(data-lens.transducers:transduce (data-lens.transducers:mapcatting 'list) |
129 | 126 |
'data-lens.transducers:list-builder |
... | ... |
@@ -135,23 +132,41 @@ |
135 | 132 |
(data-lens.transducers:iota :count 2) |
136 | 133 |
(data-lens.transducers:iota :count 3)))))) |
137 | 134 |
|
138 |
-(5am:def-test splitting (:suite :data-lens.transducers) |
|
135 |
+(5am:def-test collecting (:suite :data-lens.transducers |
|
136 |
+ :depends-on mapcatting) |
|
137 |
+ (5am:is (equal '(1 3 6 9 13 18 22 27 33 40) |
|
138 |
+ (data-lens.transducers:transduce (data-lens:• (data-lens.transducers:taking 5) |
|
139 |
+ (data-lens.transducers:mapcatting 'identity) |
|
140 |
+ (data-lens.transducers::collecting '+)) |
|
141 |
+ 'data-lens.transducers:list-builder |
|
142 |
+ (loop for x from 1 |
|
143 |
+ repeat 4 |
|
144 |
+ collect |
|
145 |
+ (data-lens.transducers:iota :start x |
|
146 |
+ :count x)))))) |
|
147 |
+ |
|
148 |
+(5am:def-test splitting (:suite :data-lens.transducers |
|
149 |
+ :depends-on mapping) |
|
139 | 150 |
(5am:is (equal '((2 0) (3 1) (4 2)) |
140 | 151 |
(data-lens.transducers:transduce (data-lens.transducers:splitting '1+ '1-) |
141 | 152 |
'data-lens.transducers:list-builder |
142 | 153 |
'(1 2 3))))) |
143 | 154 |
|
144 |
-(5am:def-test transducer-composition (:suite :data-lens.transducers) |
|
145 |
- (5am:is (equal '(3 5 7) |
|
155 |
+(5am:def-test transducer-composition (:suite :data-lens.transducers |
|
156 |
+ :depends-on (and filtering mapping)) |
|
157 |
+ (5am:is (equal '(7) |
|
146 | 158 |
(data-lens.transducers:transduce (data-lens:• |
159 |
+ (data-lens.transducers:filtering #'oddp) |
|
147 | 160 |
(data-lens.transducers:mapping |
148 | 161 |
(lambda (x) |
149 | 162 |
(* 2 x))) |
150 |
- (data-lens.transducers:mapping '1+)) |
|
163 |
+ (data-lens.transducers:mapping '1+) |
|
164 |
+ (data-lens.transducers:dropping 1)) |
|
151 | 165 |
'data-lens.transducers:list-builder |
152 | 166 |
'(1 2 3)))) |
153 |
- (5am:is (equal '(3 5 7) |
|
167 |
+ (5am:is (equal '(3 5) |
|
154 | 168 |
(data-lens.transducers:transduce (data-lens:• |
169 |
+ (data-lens.transducers:taking 2) |
|
155 | 170 |
(data-lens.transducers:mapping |
156 | 171 |
(lambda (x) |
157 | 172 |
(* 2 x))) |
... | ... |
@@ -159,7 +174,9 @@ |
159 | 174 |
'data-lens.transducers:list-builder |
160 | 175 |
'(1 2 3))))) |
161 | 176 |
|
162 |
-(5am:def-test complicated (:suite :data-lens.transducers) |
|
177 |
+(5am:def-test complicated (:suite :data-lens.transducers |
|
178 |
+ :depends-on (and catting mapping filtering splitting |
|
179 |
+ transducer-composition)) |
|
163 | 180 |
(let ((result (data-lens.transducers:transduce |
164 | 181 |
(data-lens:• |
165 | 182 |
(data-lens.transducers:catting) |