Skip to content

Commit

Permalink
Remove for-all* from tests per #149
Browse files Browse the repository at this point in the history
  • Loading branch information
ruricolist committed Apr 27, 2023
1 parent cb33c15 commit ec2781e
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 34 deletions.
22 changes: 12 additions & 10 deletions tests/lists.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -245,16 +245,18 @@
(stable-set-difference '(1 2 3 4) '(2))))
(is (equal '(4 3 1)
(stable-set-difference '(4 3 2 1) '(2))))
(for-all* ((list1 (lambda ()
(coerce (range 100) 'list)))
(list2 (lambda ()
(shuffle
(filter-map (lambda (x)
(whichever x nil))
list1)))))
(let ((sdiff (stable-set-difference list1 list2)))
(is (set-equal sdiff (set-difference list1 list2)))
(is (every #'< sdiff (rest sdiff))))))
(for-all ((list1.list2
(lambda ()
(let* ((v1 (range 100))
(v2 (shuffle (map-into (make-array (length v1))
(op (whichever _ nil))
v1))))
(cons (coerce v1 'list)
(coerce v2 'list))))))
(destructuring-bind (list1 . list2) list1.list2
(let ((sdiff (stable-set-difference list1 list2)))
(is (set-equal sdiff (set-difference list1 list2)))
(is (every #'< sdiff (rest sdiff)))))))

(test with-member-test/simple-expansion ()
"Test expansion of with-member-test when speed is not the priority."
Expand Down
51 changes: 27 additions & 24 deletions tests/sequences.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -171,30 +171,33 @@
(length> . >)
(length<= . <=)
(length>= . >=))))
(for-all* ((len (lambda () (random-in-range 2 10)))
(seq-lens
(lambda ()
(loop repeat len collect (random 10))))
(seq-types
(lambda ()
(loop repeat len collect (random-elt '(list vector integer))))))
(let ((seqs
(loop for type in seq-types
for len in seq-lens
collect (ecase type
(list (make-list len))
(vector (make-array (list len)))
(integer len)))))
(flet ((len (x)
(etypecase x
(list (length x))
(vector (length x))
(integer x))))
(dolist (equiv equivs)
(let ((length-fn (car equiv))
(num-fn (cdr equiv)))
(is (eql (apply length-fn seqs)
(apply num-fn (mapcar #'len seqs)))))))))))
(for-all
((data
(lambda ()
(let* ((len (random-in-range 2 10))
(seq-lens
(loop repeat len collect (random 10)))
(seq-types
(loop repeat len collect (random-elt '(list vector integer)))))
(list len seq-lens seq-types)))))
(destructuring-bind (len seq-lens seq-types) data
(let ((seqs
(loop for type in seq-types
for len in seq-lens
collect (ecase type
(list (make-list len))
(vector (make-array (list len)))
(integer len)))))
(flet ((len (x)
(etypecase x
(list (length x))
(vector (length x))
(integer x))))
(dolist (equiv equivs)
(let ((length-fn (car equiv))
(num-fn (cdr equiv)))
(is (eql (apply length-fn seqs)
(apply num-fn (mapcar #'len seqs))))))))))))

(test slice
(is (equal "in" (slice "string" -3 -1)))
Expand Down

0 comments on commit ec2781e

Please sign in to comment.