2
;;;; Author: Paul Dietz
3
;;;; Created: Sat Aug 31 18:17:09 2002
4
;;;; Contains: Tests for SUBSTITUTE-IF-NOT
8
(deftest substitute-if-not-list.1
9
(let ((x '())) (values (substitute-if-not 'b #'null x) x))
12
(deftest substitute-if-not-list.2
13
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x) x))
17
(deftest substitute-if-not-list.3
18
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count nil) x))
22
(deftest substitute-if-not-list.4
23
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 2) x))
27
(deftest substitute-if-not-list.5
28
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 1) x))
32
(deftest substitute-if-not-list.6
33
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 0) x))
37
(deftest substitute-if-not-list.7
38
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count -1) x))
42
(deftest substitute-if-not-list.8
43
(let ((x '())) (values (substitute-if-not 'b (is-not-eql-p 'a) x :from-end t) x))
46
(deftest substitute-if-not-list.9
47
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :from-end t) x))
51
(deftest substitute-if-not-list.10
52
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :from-end t :count nil) x))
56
(deftest substitute-if-not-list.11
57
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 2 :from-end t) x))
61
(deftest substitute-if-not-list.12
62
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 1 :from-end t) x))
66
(deftest substitute-if-not-list.13
67
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 0 :from-end t) x))
71
(deftest substitute-if-not-list.14
72
(let ((x '(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count -1 :from-end t) x))
76
(deftest substitute-if-not-list.15
77
(loop for i from 0 to 9 always
78
(loop for j from i to 10 always
79
(let* ((orig '(a a a a a a a a a a))
81
(y (substitute-if-not 'x (is-not-eql-p 'a) x :start i :end j)))
83
(equal y (nconc (make-list i :initial-element 'a)
84
(make-list (- j i) :initial-element 'x)
85
(make-list (- 10 j) :initial-element 'a)))))))
88
(deftest substitute-if-not-list.16
89
(loop for i from 0 to 9 always
90
(loop for j from i to 10 always
91
(let* ((orig '(a a a a a a a a a a))
93
(y (substitute-if-not 'x (is-not-eql-p 'a) x :start i :end j :from-end t)))
95
(equal y (nconc (make-list i :initial-element 'a)
96
(make-list (- j i) :initial-element 'x)
97
(make-list (- 10 j) :initial-element 'a)))))))
100
(deftest substitute-if-not-list.17
101
(loop for i from 0 to 9 always
102
(loop for j from i to 10 always
103
(loop for c from 0 to (- j i) always
104
(let* ((orig '(a a a a a a a a a a))
106
(y (substitute-if-not 'x (is-not-eql-p 'a) x :start i :end j :count c)))
108
(equal y (nconc (make-list i :initial-element 'a)
109
(make-list c :initial-element 'x)
110
(make-list (- 10 (+ i c)) :initial-element 'a))))))))
113
(deftest substitute-if-not-list.18
114
(loop for i from 0 to 9 always
115
(loop for j from i to 10 always
116
(loop for c from 0 to (- j i) always
117
(let* ((orig '(a a a a a a a a a a))
119
(y (substitute-if-not 'x (is-not-eql-p 'a) x :start i :end j :count c :from-end t)))
121
(equal y (nconc (make-list (- j c) :initial-element 'a)
122
(make-list c :initial-element 'x)
123
(make-list (- 10 j) :initial-element 'a))))))))
128
(deftest substitute-if-not-vector.1
129
(let ((x #())) (values (substitute-if-not 'b (is-not-eql-p 'a) x) x))
132
(deftest substitute-if-not-vector.2
133
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x) x))
137
(deftest substitute-if-not-vector.3
138
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count nil) x))
142
(deftest substitute-if-not-vector.4
143
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 2) x))
147
(deftest substitute-if-not-vector.5
148
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 1) x))
152
(deftest substitute-if-not-vector.6
153
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 0) x))
157
(deftest substitute-if-not-vector.7
158
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count -1) x))
162
(deftest substitute-if-not-vector.8
163
(let ((x #())) (values (substitute-if-not 'b (is-not-eql-p 'a) x :from-end t) x))
166
(deftest substitute-if-not-vector.9
167
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :from-end t) x))
171
(deftest substitute-if-not-vector.10
172
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :from-end t :count nil) x))
176
(deftest substitute-if-not-vector.11
177
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 2 :from-end t) x))
181
(deftest substitute-if-not-vector.12
182
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 1 :from-end t) x))
186
(deftest substitute-if-not-vector.13
187
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count 0 :from-end t) x))
191
(deftest substitute-if-not-vector.14
192
(let ((x #(a b a c))) (values (substitute-if-not 'b (is-not-eql-p 'a) x :count -1 :from-end t) x))
196
(deftest substitute-if-not-vector.15
197
(loop for i from 0 to 9 always
198
(loop for j from i to 10 always
199
(let* ((orig #(a a a a a a a a a a))
201
(y (substitute-if-not 'x (is-not-eql-p 'a) x :start i :end j)))
203
(equalp y (concatenate 'simple-vector
204
(make-array i :initial-element 'a)
205
(make-array (- j i) :initial-element 'x)
206
(make-array (- 10 j) :initial-element 'a)))))))
209
(deftest substitute-if-not-vector.16
210
(loop for i from 0 to 9 always
211
(loop for j from i to 10 always
212
(let* ((orig #(a a a a a a a a a a))
214
(y (substitute-if-not 'x (is-not-eql-p 'a) x :start i :end j :from-end t)))
216
(equalp y (concatenate 'simple-vector
217
(make-array i :initial-element 'a)
218
(make-array (- j i) :initial-element 'x)
219
(make-array (- 10 j) :initial-element 'a)))))))
222
(deftest substitute-if-not-vector.17
223
(loop for i from 0 to 9 always
224
(loop for j from i to 10 always
225
(loop for c from 0 to (- j i) always
226
(let* ((orig #(a a a a a a a a a a))
228
(y (substitute-if-not 'x (is-not-eql-p 'a) x :start i :end j :count c)))
230
(equalp y (concatenate 'simple-vector
231
(make-array i :initial-element 'a)
232
(make-array c :initial-element 'x)
233
(make-array (- 10 (+ i c)) :initial-element 'a))))))))
236
(deftest substitute-if-not-vector.18
237
(loop for i from 0 to 9 always
238
(loop for j from i to 10 always
239
(loop for c from 0 to (- j i) always
240
(let* ((orig #(a a a a a a a a a a))
242
(y (substitute-if-not 'x (is-not-eql-p 'a) x :start i :end j :count c :from-end t)))
244
(equalp y (concatenate 'simple-vector
245
(make-array (- j c) :initial-element 'a)
246
(make-array c :initial-element 'x)
247
(make-array (- 10 j) :initial-element 'a))))))))
250
(deftest substitute-if-not-vector.28
251
(let* ((x (make-array '(10) :initial-contents '(a b a c b a d e a f)
253
(result (substitute-if-not 'z (is-not-eql-p 'a) x)))
257
(deftest substitute-if-not-vector.29
258
(let* ((x (make-array '(10) :initial-contents '(a b a c b a d e a f)
260
(result (substitute-if-not 'z (is-not-eql-p 'a) x :from-end t)))
264
(deftest substitute-if-not-vector.30
265
(let* ((x (make-array '(10) :initial-contents '(a b a c b a d e a f)
267
(result (substitute-if-not 'z (is-not-eql-p 'a) x :count 1)))
271
(deftest substitute-if-not-vector.31
272
(let* ((x (make-array '(10) :initial-contents '(a b a c b a d e a f)
274
(result (substitute-if-not 'z (is-not-eql-p 'a) x
275
:from-end t :count 1)))
282
(deftest substitute-if-not-string.1
283
(let ((x "")) (values (substitute-if-not #\b (is-not-eql-p #\a) x) x))
286
(deftest substitute-if-not-string.2
287
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x) x))
291
(deftest substitute-if-not-string.3
292
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :count nil) x))
296
(deftest substitute-if-not-string.4
297
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :count 2) x))
301
(deftest substitute-if-not-string.5
302
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :count 1) x))
306
(deftest substitute-if-not-string.6
307
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :count 0) x))
311
(deftest substitute-if-not-string.7
312
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :count -1) x))
316
(deftest substitute-if-not-string.8
317
(let ((x "")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :from-end t) x))
320
(deftest substitute-if-not-string.9
321
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :from-end t) x))
325
(deftest substitute-if-not-string.10
326
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :from-end t :count nil) x))
330
(deftest substitute-if-not-string.11
331
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :count 2 :from-end t) x))
335
(deftest substitute-if-not-string.12
336
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :count 1 :from-end t) x))
340
(deftest substitute-if-not-string.13
341
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :count 0 :from-end t) x))
345
(deftest substitute-if-not-string.14
346
(let ((x "abac")) (values (substitute-if-not #\b (is-not-eql-p #\a) x :count -1 :from-end t) x))
350
(deftest substitute-if-not-string.15
351
(loop for i from 0 to 9 always
352
(loop for j from i to 10 always
353
(let* ((orig "aaaaaaaaaa")
355
(y (substitute-if-not #\x (is-not-eql-p #\a) x :start i :end j)))
357
(equalp y (concatenate 'simple-string
358
(make-array i :initial-element #\a)
359
(make-array (- j i) :initial-element #\x)
360
(make-array (- 10 j) :initial-element #\a)))))))
363
(deftest substitute-if-not-string.16
364
(loop for i from 0 to 9 always
365
(loop for j from i to 10 always
366
(let* ((orig "aaaaaaaaaa")
368
(y (substitute-if-not #\x (is-not-eql-p #\a) x :start i :end j :from-end t)))
370
(equalp y (concatenate 'simple-string
371
(make-array i :initial-element #\a)
372
(make-array (- j i) :initial-element #\x)
373
(make-array (- 10 j) :initial-element #\a)))))))
376
(deftest substitute-if-not-string.17
377
(loop for i from 0 to 9 always
378
(loop for j from i to 10 always
379
(loop for c from 0 to (- j i) always
380
(let* ((orig "aaaaaaaaaa")
382
(y (substitute-if-not #\x (is-not-eql-p #\a) x :start i :end j :count c)))
384
(equalp y (concatenate 'simple-string
385
(make-array i :initial-element #\a)
386
(make-array c :initial-element #\x)
387
(make-array (- 10 (+ i c)) :initial-element #\a))))))))
390
(deftest substitute-if-not-string.18
391
(loop for i from 0 to 9 always
392
(loop for j from i to 10 always
393
(loop for c from 0 to (- j i) always
394
(let* ((orig "aaaaaaaaaa")
396
(y (substitute-if-not #\x (is-not-eql-p #\a) x :start i :end j :count c :from-end t)))
398
(equalp y (concatenate 'simple-string
399
(make-array (- j c) :initial-element #\a)
400
(make-array c :initial-element #\x)
401
(make-array (- 10 j) :initial-element #\a))))))))
404
(deftest substitute-if-not-string.28
405
(let* ((x (make-array '(10) :initial-contents "abacbadeaf"
406
:fill-pointer 5 :element-type 'character))
407
(result (substitute-if-not #\z (is-not-eql-p #\a) x)))
411
(deftest substitute-if-not-string.29
412
(let* ((x (make-array '(10) :initial-contents "abacbadeaf"
413
:fill-pointer 5 :element-type 'character))
414
(result (substitute-if-not #\z (is-not-eql-p #\a) x :from-end t)))
418
(deftest substitute-if-not-string.30
419
(let* ((x (make-array '(10) :initial-contents "abacbadeaf"
420
:fill-pointer 5 :element-type 'character))
421
(result (substitute-if-not #\z (is-not-eql-p #\a) x :count 1)))
425
(deftest substitute-if-not-string.31
426
(let* ((x (make-array '(10) :initial-contents "abacbadeaf"
427
:fill-pointer 5 :element-type 'character))
428
(result (substitute-if-not #\z (is-not-eql-p #\a) x
429
:from-end t :count 1)))
435
;;; Tests on bitstrings
437
(deftest substitute-if-not-bitstring.1
440
(result (substitute-if-not 0 (is-not-eql-p 1) x)))
445
(deftest substitute-if-not-bitstring.2
448
(result (substitute-if-not 1 (complement #'zerop) x)))
453
(deftest substitute-if-not-bitstring.3
454
(let* ((orig #*010101)
456
(result (substitute-if-not 0 (is-not-eql-p 1) x)))
461
(deftest substitute-if-not-bitstring.4
462
(let* ((orig #*010101)
464
(result (substitute-if-not 1 (complement #'zerop) x)))
469
(deftest substitute-if-not-bitstring.5
470
(let* ((orig #*010101)
472
(result (substitute-if-not 1 (complement #'zerop) x :start 1)))
477
(deftest substitute-if-not-bitstring.6
478
(let* ((orig #*010101)
480
(result (substitute-if-not 0 (is-not-eql-p 1) x :start 2 :end nil)))
485
(deftest substitute-if-not-bitstring.7
486
(let* ((orig #*010101)
488
(result (substitute-if-not 1 (complement #'zerop) x :end 4)))
493
(deftest substitute-if-not-bitstring.8
494
(let* ((orig #*010101)
496
(result (substitute-if-not 0 (is-not-eql-p 1) x :end nil)))
501
(deftest substitute-if-not-bitstring.9
502
(let* ((orig #*010101)
504
(result (substitute-if-not 0 (is-not-eql-p 1) x :end 3)))
509
(deftest substitute-if-not-bitstring.10
510
(let* ((orig #*010101)
512
(result (substitute-if-not 0 (is-not-eql-p 1) x :start 2 :end 4)))
517
(deftest substitute-if-not-bitstring.11
518
(let* ((orig #*010101)
520
(result (substitute-if-not 1 (complement #'zerop) x :start 2 :end 4)))
525
(deftest substitute-if-not-bitstring.12
526
(let* ((orig #*010101)
528
(result (substitute-if-not 1 (complement #'zerop) x :count 1)))
533
(deftest substitute-if-not-bitstring.13
534
(let* ((orig #*010101)
536
(result (substitute-if-not 1 (complement #'zerop) x :count 0)))
541
(deftest substitute-if-not-bitstring.14
542
(let* ((orig #*010101)
544
(result (substitute-if-not 1 (complement #'zerop) x :count -1)))
549
(deftest substitute-if-not-bitstring.15
550
(let* ((orig #*010101)
552
(result (substitute-if-not 1 (complement #'zerop) x :count 1 :from-end t)))
557
(deftest substitute-if-not-bitstring.16
558
(let* ((orig #*010101)
560
(result (substitute-if-not 1 (complement #'zerop) x :count 0 :from-end t)))
565
(deftest substitute-if-not-bitstring.17
566
(let* ((orig #*010101)
568
(result (substitute-if-not 1 (complement #'zerop) x :count -1 :from-end t)))
573
(deftest substitute-if-not-bitstring.18
574
(let* ((orig #*010101)
576
(result (substitute-if-not 1 (complement #'zerop) x :count nil)))
581
(deftest substitute-if-not-bitstring.19
582
(let* ((orig #*010101)
584
(result (substitute-if-not 1 (complement #'zerop) x :count nil :from-end t)))
589
(deftest substitute-if-not-bitstring.20
590
(loop for i from 0 to 9 always
591
(loop for j from i to 10 always
592
(loop for c from 0 to (- j i) always
593
(let* ((orig #*0000000000)
595
(y (substitute-if-not 1 (complement #'zerop) x :start i :end j :count c)))
597
(equalp y (concatenate
599
(make-list i :initial-element 0)
600
(make-list c :initial-element 1)
601
(make-list (- 10 (+ i c)) :initial-element 0))))))))
604
(deftest substitute-if-not-bitstring.21
605
(loop for i from 0 to 9 always
606
(loop for j from i to 10 always
607
(loop for c from 0 to (- j i) always
608
(let* ((orig #*1111111111)
610
(y (substitute-if-not 0 (is-not-eql-p 1) x :start i :end j :count c :from-end t)))
612
(equalp y (concatenate
614
(make-list (- j c) :initial-element 1)
615
(make-list c :initial-element 0)
616
(make-list (- 10 j) :initial-element 1))))))))
621
(deftest substitute-if-not-list.24
622
(let* ((orig '((a 1) (b 2) (a 3) (c 4) (d 5) (a 6) (e 7)))
624
(result (substitute-if-not '(a 10) (is-not-eql-p 'a) x :key #'car)))
627
((a 10) (b 2) (a 10) (c 4) (d 5) (a 10) (e 7)))
629
(deftest substitute-if-not-list.25
630
(let* ((orig '((a 1) (b 2) (a 3) (c 4) (d 5) (a 6) (e 7)))
632
(result (substitute-if-not '(a 10) (is-not-eql-p 'a) x
633
:key #'car :start 1 :end 5)))
636
((a 1) (b 2) (a 10) (c 4) (d 5) (a 6) (e 7)))
638
(deftest substitute-if-not-vector.24
639
(let* ((orig #((a 1) (b 2) (a 3) (c 4) (d 5) (a 6) (e 7)))
641
(result (substitute-if-not '(a 10) (is-not-eql-p 'a) x :key #'car)))
644
#((a 10) (b 2) (a 10) (c 4) (d 5) (a 10) (e 7)))
646
(deftest substitute-if-not-vector.25
647
(let* ((orig #((a 1) (b 2) (a 3) (c 4) (d 5) (a 6) (e 7)))
649
(result (substitute-if-not '(a 10) (is-not-eql-p 'a) x :key #'car :start 1 :end 5)))
652
#((a 1) (b 2) (a 10) (c 4) (d 5) (a 6) (e 7)))
654
(deftest substitute-if-not-string.24
655
(let* ((orig "0102342015")
657
(result (substitute-if-not #\a (is-not-eql-p #\1) x :key #'nextdigit)))
662
(deftest substitute-if-not-string.25
663
(let* ((orig "0102342015")
665
(result (substitute-if-not #\a (is-not-eql-p #\1) x :key #'nextdigit :start 1 :end 6)))
670
(deftest substitute-if-not-bitstring.26
671
(let* ((orig #*00111001011010110)
673
(result (substitute-if-not 1 (is-not-eql-p 1) x :key #'1+)))
678
(deftest substitute-if-not-bitstring.27
679
(let* ((orig #*00111001011010110)
681
(result (substitute-if-not 1 (is-not-eql-p 1) x :key #'1+ :start 1 :end 10)))
686
(deftest substitute-if-not-bit-vector.30
687
(let* ((x (make-array '(10) :initial-contents '(0 1 0 1 1 0 1 1 0 1)
688
:fill-pointer 5 :element-type 'bit))
689
(result (substitute-if-not 1 #'onep x)))
693
(deftest substitute-if-not-bit-vector.31
694
(let* ((x (make-array '(10) :initial-contents '(0 1 0 1 1 0 1 1 0 1)
695
:fill-pointer 5 :element-type 'bit))
696
(result (substitute-if-not 1 #'onep x :from-end t)))
700
(deftest substitute-if-not-bit-vector.32
701
(let* ((x (make-array '(10) :initial-contents '(0 1 0 1 1 0 1 1 0 1)
702
:fill-pointer 5 :element-type 'bit))
703
(result (substitute-if-not 1 #'onep x :count 1)))
707
(deftest substitute-if-not-bit-vector.33
708
(let* ((x (make-array '(10) :initial-contents '(0 1 0 1 1 0 1 1 0 1)
709
:fill-pointer 5 :element-type 'bit))
710
(result (substitute-if-not 1 #'onep x :from-end t :count 1)))
714
(deftest substitute-if-not.order.1
715
(let ((i 0) a b c d e f g h)
718
(progn (setf a (incf i)) 'a)
719
(progn (setf b (incf i)) #'identity)
720
(progn (setf c (incf i)) (list nil 1 2 nil 3 4 nil 5))
721
:count (progn (setf d (incf i)) 2)
722
:start (progn (setf e (incf i)) 0)
723
:end (progn (setf f (incf i)) 7)
724
:key (progn (setf g (incf i)) #'identity)
725
:from-end (setf h (incf i))
731
(deftest substitute-if-not.order.2
732
(let ((i 0) a b c d e f g h)
735
(progn (setf a (incf i)) 'a)
736
(progn (setf b (incf i)) #'identity)
737
(progn (setf c (incf i)) (list nil 1 2 nil 3 4 nil 5))
738
:from-end (setf h (incf i))
739
:key (progn (setf g (incf i)) #'identity)
740
:end (progn (setf f (incf i)) 7)
741
:start (progn (setf e (incf i)) 0)
742
:count (progn (setf d (incf i)) 2)
750
(deftest substitute-if-not.allow-other-keys.1
751
(substitute-if-not 'a #'zerop (list 1 2 0 3 1 0 3)
752
:allow-other-keys t :bad t)
755
(deftest substitute-if-not.allow-other-keys.2
756
(substitute-if-not 'a #'zerop (list 1 2 0 3 1 0 3)
757
:bad t :allow-other-keys t)
760
(deftest substitute-if-not.allow-other-keys.3
761
(substitute-if-not 'a #'zerop (list 1 2 0 3 1 0 3) :allow-other-keys t
762
:allow-other-keys nil :bad t)
765
(deftest substitute-if-not.allow-other-keys.4
766
(substitute-if-not 'a #'zerop (list 1 2 0 3 1 0 3) :bad t
767
:allow-other-keys t :allow-other-keys nil)
770
(deftest substitute-if-not.allow-other-keys.5
771
(substitute-if-not 'a #'zerop (list 1 2 0 3 1 0 3)
772
:allow-other-keys t :key #'1-)
775
(deftest substitute-if-not.keywords.6
776
(substitute-if-not 'a #'zerop (list 1 2 0 3 1 0 3)
777
:key #'1- :key #'identity)
780
(deftest substitute-if-not.allow-other-keys.7
781
(substitute-if-not 'a #'zerop (list 1 2 0 3 1 0 3) :allow-other-keys t
782
:bad t :allow-other-keys nil)
785
(deftest substitute-if-not.allow-other-keys.8
786
(substitute-if-not 'a #'zerop (list 1 2 0 3 1 0 3) :allow-other-keys nil)
791
(deftest substitute-if-not.error.1
792
(signals-error (substitute-if-not) program-error)
795
(deftest substitute-if-not.error.2
796
(signals-error (substitute-if-not 'a) program-error)
799
(deftest substitute-if-not.error.3
800
(signals-error (substitute-if-not 'a #'null) program-error)
803
(deftest substitute-if-not.error.4
804
(signals-error (substitute-if-not 'a #'null nil 'bad t) program-error)
807
(deftest substitute-if-not.error.5
808
(signals-error (substitute-if-not 'a #'null nil
809
'bad t :allow-other-keys nil) program-error)
812
(deftest substitute-if-not.error.6
813
(signals-error (substitute-if-not 'a #'null nil :key) program-error)
816
(deftest substitute-if-not.error.7
817
(signals-error (substitute-if-not 'a #'null nil 1 2) program-error)
820
(deftest substitute-if-not.error.8
821
(signals-error (substitute-if-not 'a #'cons (list 'a 'b 'c)) program-error)
824
(deftest substitute-if-not.error.9
825
(signals-error (substitute-if-not 'a #'car (list 'a 'b 'c)) type-error)
828
(deftest substitute-if-not.error.10
829
(signals-error (substitute-if-not 'a #'identity (list 'a 'b 'c)
834
(deftest substitute-if-not.error.11
835
(signals-error (substitute-if-not 'a #'identity (list 'a 'b 'c)