35 |
#'(lambda (c1 c2) (not (char= c1 c2)))) |
#'(lambda (c1 c2) (not (char= c1 c2)))) |
36 |
t) |
t) |
37 |
|
|
38 |
(deftest char=.5 |
(deftest char=.order.1 |
39 |
|
(let ((i 0)) |
40 |
|
(values (not (char= (progn (incf i) #\a))) i)) |
41 |
|
nil 1) |
42 |
|
|
43 |
|
(deftest char=.order.2 |
44 |
|
(let ((i 0) a b) |
45 |
|
(values (char= (progn (setf a (incf i)) #\a) |
46 |
|
(progn (setf b (incf i)) #\b)) |
47 |
|
i a b)) |
48 |
|
nil 2 1 2) |
49 |
|
|
50 |
|
(deftest char=.order.3 |
51 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
52 |
(values |
(values |
53 |
(char= (progn (setq a (incf i)) #\a) |
(char= (progn (setq a (incf i)) #\a) |
56 |
i a b c)) |
i a b c)) |
57 |
nil 3 1 2 3) |
nil 3 1 2 3) |
58 |
|
|
59 |
|
;;; |
60 |
|
|
61 |
(deftest char/=.1 |
(deftest char/=.1 |
62 |
(is-ordered-by +code-chars+ #'char/=) |
(is-ordered-by +code-chars+ #'char/=) |
63 |
t) |
t) |
75 |
(is-ordered-by +rev-code-chars+ #'char/=) |
(is-ordered-by +rev-code-chars+ #'char/=) |
76 |
t) |
t) |
77 |
|
|
78 |
(deftest char/=.5 |
(deftest char/=.order.1 |
79 |
|
(let ((i 0)) |
80 |
|
(values (not (char/= (progn (incf i) #\a))) i)) |
81 |
|
nil 1) |
82 |
|
|
83 |
|
(deftest char/=.order.2 |
84 |
|
(let ((i 0) a b) |
85 |
|
(values (not (char/= (progn (setf a (incf i)) #\a) |
86 |
|
(progn (setf b (incf i)) #\b))) |
87 |
|
i a b)) |
88 |
|
nil 2 1 2) |
89 |
|
|
90 |
|
(deftest char/=.order.3 |
91 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
92 |
(values |
(values |
93 |
(char/= (progn (setq a (incf i)) #\a) |
(char/= (progn (setq a (incf i)) #\a) |
96 |
i a b c)) |
i a b c)) |
97 |
nil 3 1 2 3) |
nil 3 1 2 3) |
98 |
|
|
99 |
|
;;; |
100 |
|
|
101 |
(deftest char<=.1 |
(deftest char<=.1 |
102 |
(loop for c across +code-chars+ |
(loop for c across +code-chars+ |
103 |
always (char<= c c)) |
always (char<= c c)) |
131 |
(notnot-mv (or (char<= #\9 #\a) (char<= #\z #\0))) |
(notnot-mv (or (char<= #\9 #\a) (char<= #\z #\0))) |
132 |
t) |
t) |
133 |
|
|
134 |
(deftest char<=.9 |
(deftest char<=.order.1 |
135 |
|
(let ((i 0)) |
136 |
|
(values (not (char<= (progn (incf i) #\a))) i)) |
137 |
|
nil 1) |
138 |
|
|
139 |
|
(deftest char<=.order.2 |
140 |
|
(let ((i 0) a b) |
141 |
|
(values (not (char<= (progn (setf a (incf i)) #\a) |
142 |
|
(progn (setf b (incf i)) #\b))) |
143 |
|
i a b)) |
144 |
|
nil 2 1 2) |
145 |
|
|
146 |
|
(deftest char<=.order.3 |
147 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
148 |
(values |
(values |
149 |
(char<= (progn (setq a (incf i)) #\a) |
(char<= (progn (setq a (incf i)) #\a) |
152 |
i a b c)) |
i a b c)) |
153 |
nil 3 1 2 3) |
nil 3 1 2 3) |
154 |
|
|
155 |
|
;;; |
156 |
|
|
157 |
(deftest char<.1 |
(deftest char<.1 |
158 |
(loop for c across +code-chars+ |
(loop for c across +code-chars+ |
159 |
never (char< c c)) |
never (char< c c)) |
187 |
(notnot-mv (or (char< #\9 #\a) (char< #\z #\0))) |
(notnot-mv (or (char< #\9 #\a) (char< #\z #\0))) |
188 |
t) |
t) |
189 |
|
|
190 |
(deftest char<.9 |
(deftest char<.order.1 |
191 |
|
(let ((i 0)) |
192 |
|
(values (not (char< (progn (incf i) #\a))) i)) |
193 |
|
nil 1) |
194 |
|
|
195 |
|
(deftest char<.order.2 |
196 |
|
(let ((i 0) a b) |
197 |
|
(values (not (char< (progn (setf a (incf i)) #\a) |
198 |
|
(progn (setf b (incf i)) #\b))) |
199 |
|
i a b)) |
200 |
|
nil 2 1 2) |
201 |
|
|
202 |
|
(deftest char<.order.3 |
203 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
204 |
(values |
(values |
205 |
(char< (progn (setq a (incf i)) #\a) |
(char< (progn (setq a (incf i)) #\a) |
208 |
i a b c)) |
i a b c)) |
209 |
nil 3 1 2 3) |
nil 3 1 2 3) |
210 |
|
|
211 |
|
(deftest char<.order.4 |
212 |
|
(let ((i 0) a b c) |
213 |
|
(values |
214 |
|
(char< (progn (setq a (incf i)) #\b) |
215 |
|
(progn (setq b (incf i)) #\a) |
216 |
|
(progn (setq c (incf i)) #\b)) |
217 |
|
i a b c)) |
218 |
|
nil 3 1 2 3) |
219 |
|
|
220 |
|
;;; |
221 |
|
|
222 |
(deftest char>=.1 |
(deftest char>=.1 |
223 |
(loop for c across +code-chars+ |
(loop for c across +code-chars+ |
224 |
always (char>= c c)) |
always (char>= c c)) |
252 |
(notnot-mv (or (char>= #\a #\9) (char>= #\0 #\z))) |
(notnot-mv (or (char>= #\a #\9) (char>= #\0 #\z))) |
253 |
t) |
t) |
254 |
|
|
255 |
(deftest char>=.9 |
(deftest char>=.order.1 |
256 |
|
(let ((i 0)) |
257 |
|
(values (not (char>= (progn (incf i) #\a))) i)) |
258 |
|
nil 1) |
259 |
|
|
260 |
|
(deftest char>=.order.2 |
261 |
|
(let ((i 0) a b) |
262 |
|
(values (not (char>= (progn (setf a (incf i)) #\b) |
263 |
|
(progn (setf b (incf i)) #\a))) |
264 |
|
i a b)) |
265 |
|
nil 2 1 2) |
266 |
|
|
267 |
|
(deftest char>=.order.3 |
268 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
269 |
(values |
(values |
270 |
(char>= (progn (setq a (incf i)) #\b) |
(char>= (progn (setq a (incf i)) #\b) |
273 |
i a b c)) |
i a b c)) |
274 |
nil 3 1 2 3) |
nil 3 1 2 3) |
275 |
|
|
276 |
|
(deftest char>=.order.4 |
277 |
|
(let ((i 0) a b c) |
278 |
|
(values |
279 |
|
(char>= (progn (setq a (incf i)) #\a) |
280 |
|
(progn (setq b (incf i)) #\b) |
281 |
|
(progn (setq c (incf i)) #\a)) |
282 |
|
i a b c)) |
283 |
|
nil 3 1 2 3) |
284 |
|
|
285 |
|
;;; |
286 |
|
|
287 |
(deftest char>.1 |
(deftest char>.1 |
288 |
(loop for c across +code-chars+ |
(loop for c across +code-chars+ |
289 |
never (char> c c)) |
never (char> c c)) |
317 |
(notnot-mv (or (char> #\a #\9) (char> #\0 #\z))) |
(notnot-mv (or (char> #\a #\9) (char> #\0 #\z))) |
318 |
t) |
t) |
319 |
|
|
320 |
(deftest char>.9 |
(deftest char>.order.1 |
321 |
|
(let ((i 0)) |
322 |
|
(values (not (char> (progn (incf i) #\a))) i)) |
323 |
|
nil 1) |
324 |
|
|
325 |
|
(deftest char>.order.2 |
326 |
|
(let ((i 0) a b) |
327 |
|
(values (not (char> (progn (setf a (incf i)) #\b) |
328 |
|
(progn (setf b (incf i)) #\a))) |
329 |
|
i a b)) |
330 |
|
nil 2 1 2) |
331 |
|
|
332 |
|
(deftest char>.order.3 |
333 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
334 |
(values |
(values |
335 |
(char> (progn (setq a (incf i)) #\b) |
(char> (progn (setq a (incf i)) #\b) |
338 |
i a b c)) |
i a b c)) |
339 |
nil 3 1 2 3) |
nil 3 1 2 3) |
340 |
|
|
341 |
|
(deftest char>.order.4 |
342 |
|
(let ((i 0) a b c) |
343 |
|
(values |
344 |
|
(char> (progn (setq a (incf i)) #\a) |
345 |
|
(progn (setq b (incf i)) #\b) |
346 |
|
(progn (setq c (incf i)) #\a)) |
347 |
|
i a b c)) |
348 |
|
nil 3 1 2 3) |
349 |
|
|
350 |
;;; Case-insensitive comparisons |
;;; Case-insensitive comparisons |
351 |
|
|
352 |
(deftest char-equal.1 |
(deftest char-equal.1 |
375 |
(not (char-equal c1 c2))))) |
(not (char-equal c1 c2))))) |
376 |
t) |
t) |
377 |
|
|
378 |
(deftest char-equal.5 |
(deftest char-equal.order.1 |
379 |
|
(let ((i 0)) |
380 |
|
(values (not (char-equal (progn (incf i) #\a))) i)) |
381 |
|
nil 1) |
382 |
|
|
383 |
|
(deftest char-equal.order.2 |
384 |
|
(let ((i 0) a b) |
385 |
|
(values (char-equal (progn (setf a (incf i)) #\b) |
386 |
|
(progn (setf b (incf i)) #\a)) |
387 |
|
i a b)) |
388 |
|
nil 2 1 2) |
389 |
|
|
390 |
|
(deftest char-equal.order.3 |
391 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
392 |
(values |
(values |
393 |
(char-equal (progn (setq a (incf i)) #\a) |
(char-equal (progn (setq a (incf i)) #\a) |
396 |
i a b c)) |
i a b c)) |
397 |
nil 3 1 2 3) |
nil 3 1 2 3) |
398 |
|
|
399 |
|
(deftest char-equal.order.4 |
400 |
|
(let ((i 0) a b c) |
401 |
|
(values |
402 |
|
(char-equal (progn (setq a (incf i)) #\a) |
403 |
|
(progn (setq b (incf i)) #\b) |
404 |
|
(progn (setq c (incf i)) #\a)) |
405 |
|
i a b c)) |
406 |
|
nil 3 1 2 3) |
407 |
|
|
408 |
|
;;; |
409 |
|
|
410 |
(deftest char-not-equal.1 |
(deftest char-not-equal.1 |
411 |
(is-ordered-by +code-chars+ #'(lambda (c1 c2) |
(is-ordered-by +code-chars+ #'(lambda (c1 c2) |
412 |
(or (char= (char-downcase c1) |
(or (char= (char-downcase c1) |
430 |
(char-not-equal c1 c2)))) |
(char-not-equal c1 c2)))) |
431 |
t) |
t) |
432 |
|
|
433 |
(deftest char-not-equal.5 |
(deftest char-not-equal.order.1 |
434 |
|
(let ((i 0)) |
435 |
|
(values (not (char-not-equal (progn (incf i) #\a))) i)) |
436 |
|
nil 1) |
437 |
|
|
438 |
|
(deftest char-not-equal.order.2 |
439 |
|
(let ((i 0) a b) |
440 |
|
(values (not (char-not-equal (progn (setf a (incf i)) #\b) |
441 |
|
(progn (setf b (incf i)) #\a))) |
442 |
|
i a b)) |
443 |
|
nil 2 1 2) |
444 |
|
|
445 |
|
(deftest char-not-equal.order.3 |
446 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
447 |
(values |
(values |
448 |
(char-not-equal (progn (setq a (incf i)) #\a) |
(char-not-equal (progn (setq a (incf i)) #\a) |
451 |
i a b c)) |
i a b c)) |
452 |
nil 3 1 2 3) |
nil 3 1 2 3) |
453 |
|
|
454 |
|
(deftest char-not-equal.order.4 |
455 |
|
(let ((i 0) a b c) |
456 |
|
(values |
457 |
|
(char-not-equal (progn (setq a (incf i)) #\a) |
458 |
|
(progn (setq b (incf i)) #\a) |
459 |
|
(progn (setq c (incf i)) #\b)) |
460 |
|
i a b c)) |
461 |
|
nil 3 1 2 3) |
462 |
|
|
463 |
|
;;; |
464 |
|
|
465 |
(deftest char-not-greaterp.1 |
(deftest char-not-greaterp.1 |
466 |
(loop for c across +code-chars+ |
(loop for c across +code-chars+ |
467 |
always (char-not-greaterp c c)) |
always (char-not-greaterp c c)) |
495 |
(notnot-mv (or (char-not-greaterp #\9 #\a) (char-not-greaterp #\z #\0))) |
(notnot-mv (or (char-not-greaterp #\9 #\a) (char-not-greaterp #\z #\0))) |
496 |
t) |
t) |
497 |
|
|
498 |
(deftest char-not-greaterp.9 |
(deftest char-not-greaterp.order.1 |
499 |
|
(let ((i 0)) |
500 |
|
(values (not (char-not-greaterp (progn (incf i) #\a))) i)) |
501 |
|
nil 1) |
502 |
|
|
503 |
|
(deftest char-not-greaterp.order.2 |
504 |
|
(let ((i 0) a b) |
505 |
|
(values (not (char-not-greaterp (progn (setf a (incf i)) #\a) |
506 |
|
(progn (setf b (incf i)) #\b))) |
507 |
|
i a b)) |
508 |
|
nil 2 1 2) |
509 |
|
|
510 |
|
(deftest char-not-greaterp.order.3 |
511 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
512 |
(values |
(values |
513 |
(char-not-greaterp (progn (setq a (incf i)) #\a) |
(char-not-greaterp (progn (setq a (incf i)) #\a) |
516 |
i a b c)) |
i a b c)) |
517 |
nil 3 1 2 3) |
nil 3 1 2 3) |
518 |
|
|
519 |
|
(deftest char-not-greaterp.order.4 |
520 |
|
(let ((i 0) a b c) |
521 |
|
(values |
522 |
|
(char-not-greaterp (progn (setq a (incf i)) #\b) |
523 |
|
(progn (setq b (incf i)) #\a) |
524 |
|
(progn (setq c (incf i)) #\a)) |
525 |
|
i a b c)) |
526 |
|
nil 3 1 2 3) |
527 |
|
|
528 |
|
;;; |
529 |
|
|
530 |
(deftest char-lessp.1 |
(deftest char-lessp.1 |
531 |
(loop for c across +code-chars+ |
(loop for c across +code-chars+ |
532 |
never (char-lessp c c)) |
never (char-lessp c c)) |
560 |
(notnot-mv (or (char-lessp #\9 #\a) (char-lessp #\z #\0))) |
(notnot-mv (or (char-lessp #\9 #\a) (char-lessp #\z #\0))) |
561 |
t) |
t) |
562 |
|
|
563 |
(deftest char-lessp.9 |
(deftest char-lessp.order.1 |
564 |
|
(let ((i 0)) |
565 |
|
(values (not (char-lessp (progn (incf i) #\a))) i)) |
566 |
|
nil 1) |
567 |
|
|
568 |
|
(deftest char-lessp.order.2 |
569 |
|
(let ((i 0) a b) |
570 |
|
(values (not (char-lessp (progn (setf a (incf i)) #\a) |
571 |
|
(progn (setf b (incf i)) #\b))) |
572 |
|
i a b)) |
573 |
|
nil 2 1 2) |
574 |
|
|
575 |
|
(deftest char-lessp.order.3 |
576 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
577 |
(values |
(values |
578 |
(char-lessp (progn (setq a (incf i)) #\a) |
(char-lessp (progn (setq a (incf i)) #\a) |
581 |
i a b c)) |
i a b c)) |
582 |
nil 3 1 2 3) |
nil 3 1 2 3) |
583 |
|
|
584 |
|
(deftest char-lessp.order.4 |
585 |
|
(let ((i 0) a b c) |
586 |
|
(values |
587 |
|
(char-lessp (progn (setq a (incf i)) #\b) |
588 |
|
(progn (setq b (incf i)) #\a) |
589 |
|
(progn (setq c (incf i)) #\a)) |
590 |
|
i a b c)) |
591 |
|
nil 3 1 2 3) |
592 |
|
|
593 |
|
;;; |
594 |
|
|
595 |
(deftest char-not-lessp.1 |
(deftest char-not-lessp.1 |
596 |
(loop for c across +code-chars+ |
(loop for c across +code-chars+ |
597 |
always (char-not-lessp c c)) |
always (char-not-lessp c c)) |
626 |
(notnot-mv (or (char-not-lessp #\a #\9) (char-not-lessp #\0 #\z))) |
(notnot-mv (or (char-not-lessp #\a #\9) (char-not-lessp #\0 #\z))) |
627 |
t) |
t) |
628 |
|
|
629 |
(deftest char-not-lessp.9 |
(deftest char-not-lessp.order.1 |
630 |
|
(let ((i 0)) |
631 |
|
(values (not (char-not-lessp (progn (incf i) #\a))) i)) |
632 |
|
nil 1) |
633 |
|
|
634 |
|
(deftest char-not-lessp.order.2 |
635 |
|
(let ((i 0) a b) |
636 |
|
(values (not (char-not-lessp (progn (setf a (incf i)) #\b) |
637 |
|
(progn (setf b (incf i)) #\a))) |
638 |
|
i a b)) |
639 |
|
nil 2 1 2) |
640 |
|
|
641 |
|
(deftest char-not-lessp.order.3 |
642 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
643 |
(values |
(values |
644 |
(char-not-lessp (progn (setq a (incf i)) #\b) |
(char-not-lessp (progn (setq a (incf i)) #\b) |
647 |
i a b c)) |
i a b c)) |
648 |
nil 3 1 2 3) |
nil 3 1 2 3) |
649 |
|
|
650 |
|
(deftest char-not-lessp.order.4 |
651 |
|
(let ((i 0) a b c) |
652 |
|
(values |
653 |
|
(char-not-lessp (progn (setq a (incf i)) #\a) |
654 |
|
(progn (setq b (incf i)) #\b) |
655 |
|
(progn (setq c (incf i)) #\b)) |
656 |
|
i a b c)) |
657 |
|
nil 3 1 2 3) |
658 |
|
|
659 |
|
;;; |
660 |
|
|
661 |
(deftest char-greaterp.1 |
(deftest char-greaterp.1 |
662 |
(loop for c across +code-chars+ |
(loop for c across +code-chars+ |
663 |
never (char-greaterp c c)) |
never (char-greaterp c c)) |
692 |
(notnot-mv (or (char-greaterp #\a #\9) (char-greaterp #\0 #\z))) |
(notnot-mv (or (char-greaterp #\a #\9) (char-greaterp #\0 #\z))) |
693 |
t) |
t) |
694 |
|
|
695 |
(deftest char-greaterp.9 |
(deftest char-greaterp.order.1 |
696 |
|
(let ((i 0)) |
697 |
|
(values (not (char-greaterp (progn (incf i) #\a))) i)) |
698 |
|
nil 1) |
699 |
|
|
700 |
|
(deftest char-greaterp.order.2 |
701 |
|
(let ((i 0) a b) |
702 |
|
(values (not (char-greaterp (progn (setf a (incf i)) #\b) |
703 |
|
(progn (setf b (incf i)) #\a))) |
704 |
|
i a b)) |
705 |
|
nil 2 1 2) |
706 |
|
|
707 |
|
(deftest char-greaterp.order.3 |
708 |
(let ((i 0) a b c) |
(let ((i 0) a b c) |
709 |
(values |
(values |
710 |
(char-greaterp (progn (setq a (incf i)) #\b) |
(char-greaterp (progn (setq a (incf i)) #\b) |
712 |
(progn (setq c (incf i)) #\b)) |
(progn (setq c (incf i)) #\b)) |
713 |
i a b c)) |
i a b c)) |
714 |
nil 3 1 2 3) |
nil 3 1 2 3) |
715 |
|
|
716 |
|
(deftest char-greaterp.order.4 |
717 |
|
(let ((i 0) a b c) |
718 |
|
(values |
719 |
|
(char-greaterp (progn (setq a (incf i)) #\a) |
720 |
|
(progn (setq b (incf i)) #\b) |
721 |
|
(progn (setq c (incf i)) #\a)) |
722 |
|
i a b c)) |
723 |
|
nil 3 1 2 3) |