mirror of
https://github.com/fiddlerwoaroof/data-lens.git
synced 2025-11-08 18:26:32 +00:00
bug: add test with custom TEST and COMBINER for COMPRESSING-RUNS
This commit is contained in:
@ -89,7 +89,23 @@
|
|||||||
(5am:is (equal '(1 2)
|
(5am:is (equal '(1 2)
|
||||||
(data-lens.transducers:transduce (data-lens.transducers:compressing-runs)
|
(data-lens.transducers:transduce (data-lens.transducers:compressing-runs)
|
||||||
'data-lens.transducers:list-builder
|
'data-lens.transducers:list-builder
|
||||||
input)))))
|
input))))
|
||||||
|
|
||||||
|
(5am:is
|
||||||
|
(equal '((1 2 2 2 3 3 3)
|
||||||
|
(2 4 4 4 5 5 5)
|
||||||
|
(3 6 6 6))
|
||||||
|
(data-lens.transducers:transduce
|
||||||
|
(data-lens.transducers:compressing-runs
|
||||||
|
:test (lambda (a b) (eql (car a) (car b)))
|
||||||
|
:combiner (lambda (a b)
|
||||||
|
(if a
|
||||||
|
(append a (cdr b))
|
||||||
|
b)))
|
||||||
|
'data-lens.transducers:list-builder
|
||||||
|
'((1 2 2 2) (1 3 3 3)
|
||||||
|
(2 4 4 4) (2 5 5 5)
|
||||||
|
(3 6 6 6))))))
|
||||||
|
|
||||||
(5am:def-test catting (:suite :data-lens.transducers)
|
(5am:def-test catting (:suite :data-lens.transducers)
|
||||||
(5am:is (equal '(1 1 2 1 2 2 3 3 4 1)
|
(5am:is (equal '(1 1 2 1 2 2 3 3 4 1)
|
||||||
|
|||||||
@ -79,14 +79,13 @@
|
|||||||
leftovers t)
|
leftovers t)
|
||||||
acc)
|
acc)
|
||||||
(progn (prog1 (funcall rf acc last)
|
(progn (prog1 (funcall rf acc last)
|
||||||
(setf last (funcall combiner last next))))))
|
(setf last next)))))
|
||||||
((it)
|
((it)
|
||||||
(funcall rf
|
(funcall rf
|
||||||
(if leftovers
|
(if leftovers
|
||||||
(funcall rf it last)
|
(funcall rf it last)
|
||||||
it)))))))
|
it)))))))
|
||||||
|
|
||||||
|
|
||||||
(defun deduping (&optional (test 'eql))
|
(defun deduping (&optional (test 'eql))
|
||||||
(compressing-runs :test test))
|
(compressing-runs :test test))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user