266 |
(and (equalp orig x) y)) |
(and (equalp orig x) y)) |
267 |
(1 2 2 6 1 2 4 1 3 2 7)) |
(1 2 2 6 1 2 4 1 3 2 7)) |
268 |
|
|
269 |
;;; To do: add call to the randomized REMOVE tester |
;;; Randomized tests |
270 |
|
|
271 |
|
(deftest remove-random |
272 |
|
(loop for i from 1 to 2500 |
273 |
|
always (random-test-remove 20)) |
274 |
|
t) |
275 |
|
|
276 |
|
(deftest remove-if-random |
277 |
|
(loop for i from 1 to 2500 |
278 |
|
always (random-test-remove-if 20)) |
279 |
|
t) |
280 |
|
|
281 |
|
(deftest remove-if-not-random |
282 |
|
(loop for i from 1 to 2500 |
283 |
|
always (random-test-remove-if 20 t)) |
284 |
|
t) |
285 |
|
|
286 |
|
(deftest delete-random |
287 |
|
(loop for i from 1 to 2500 |
288 |
|
always (random-test-delete 20)) |
289 |
|
t) |
290 |
|
|
291 |
|
(deftest delete-if-random |
292 |
|
(loop for i from 1 to 2500 |
293 |
|
always (random-test-delete-if 20)) |
294 |
|
t) |
295 |
|
|
296 |
|
(deftest delete-if-not-random |
297 |
|
(loop for i from 1 to 2500 |
298 |
|
always (random-test-delete-if 20 t)) |
299 |
|
t) |
300 |
|
|
301 |
|
;;; Additional tests with KEY = NIL |
302 |
|
|
303 |
|
(deftest remove-if-list.1 |
304 |
|
(let* ((orig '(1 2 3 2 6 1 2 4 1 3 2 7)) |
305 |
|
(x (copy-seq orig)) |
306 |
|
(y (remove-if #'evenp x :key nil))) |
307 |
|
(and (equalp orig x) y)) |
308 |
|
(1 3 1 1 3 7)) |
309 |
|
|
310 |
|
(deftest remove-if-list.2 |
311 |
|
(let* ((orig '(a b c a b d a c b a e)) |
312 |
|
(x (copy-seq orig)) |
313 |
|
(y (remove-if #'(lambda (y) (eq y 'a)) x :key nil))) |
314 |
|
(and (equalp orig x) y)) |
315 |
|
(b c b d c b e)) |
316 |
|
|
317 |
|
(deftest remove-if-not-list.1 |
318 |
|
(let* ((orig '(1 2 3 2 6 1 2 4 1 3 2 7)) |
319 |
|
(x (copy-seq orig)) |
320 |
|
(y (remove-if-not #'oddp x :key nil))) |
321 |
|
(and (equalp orig x) y)) |
322 |
|
(1 3 1 1 3 7)) |
323 |
|
|
324 |
|
(deftest remove-if-not-list.2 |
325 |
|
(let* ((orig '(a b c a b d a c b a e)) |
326 |
|
(x (copy-seq orig)) |
327 |
|
(y (remove-if-not #'(lambda (y) (not (eq y 'a))) x :key nil))) |
328 |
|
(and (equalp orig x) y)) |
329 |
|
(b c b d c b e)) |
330 |
|
|
331 |
|
(deftest delete-if-list.1 |
332 |
|
(let* ((orig '(1 2 3 2 6 1 2 4 1 3 2 7)) |
333 |
|
(x (copy-seq orig)) |
334 |
|
(y (delete-if #'evenp x :key nil))) |
335 |
|
y) |
336 |
|
(1 3 1 1 3 7)) |
337 |
|
|
338 |
|
(deftest delete-if-list.2 |
339 |
|
(let* ((orig '(a b c a b d a c b a e)) |
340 |
|
(x (copy-seq orig)) |
341 |
|
(y (delete-if #'(lambda (y) (eq y 'a)) x :key nil))) |
342 |
|
y) |
343 |
|
(b c b d c b e)) |
344 |
|
|
345 |
|
(deftest delete-if-not-list.1 |
346 |
|
(let* ((orig '(1 2 3 2 6 1 2 4 1 3 2 7)) |
347 |
|
(x (copy-seq orig)) |
348 |
|
(y (delete-if-not #'oddp x :key nil))) |
349 |
|
y) |
350 |
|
(1 3 1 1 3 7)) |
351 |
|
|
352 |
|
(deftest delete-if-not-list.2 |
353 |
|
(let* ((orig '(a b c a b d a c b a e)) |
354 |
|
(x (copy-seq orig)) |
355 |
|
(y (delete-if-not #'(lambda (y) (not (eq y 'a))) x :key nil))) |
356 |
|
y) |
357 |
|
(b c b d c b e)) |
358 |
|
|
359 |
|
(deftest delete-list.1 |
360 |
|
(let* ((orig '(a b c a b d a c b a e)) |
361 |
|
(x (copy-seq orig)) |
362 |
|
(y (delete 'a x :key nil))) |
363 |
|
y) |
364 |
|
(b c b d c b e)) |
365 |
|
|
366 |
|
(deftest delete-list.2 |
367 |
|
(let* ((orig '(1 2 3 2 6 1 2 4 1 3 2 7)) |
368 |
|
(x (copy-seq orig)) |
369 |
|
(y (delete 2 x :key nil))) |
370 |
|
y) |
371 |
|
(1 3 6 1 4 1 3 7)) |