54 lines
2.6 KiB
Plaintext
54 lines
2.6 KiB
Plaintext
;; Function To Be Tested: character
|
|
;;
|
|
;; Source: Steele's book Section 13.4: Character Conversions Page: 241
|
|
;;
|
|
;; Created By: Karin M. Sye
|
|
;;
|
|
;; Creation Date: April 29 '86
|
|
;;
|
|
;; Last Update: May 16, 1986/ MASINTER
|
|
;;
|
|
;; Filed As: {eris}<lispcore>cml>test>13-4-character.test
|
|
;;
|
|
;;
|
|
;; Syntax: CHARACTER object
|
|
;;
|
|
;; Function Description: CHARACTER function converts its argument to be a character if possible.
|
|
;;
|
|
;; Argument(s): object - a lisp object
|
|
;;
|
|
;; Returns: a character
|
|
;; an error signal - if it is not possible to convert the object
|
|
;;
|
|
|
|
|
|
(do-test-group (test-character-group
|
|
:before (progn
|
|
(setf lower-case-chars '(#\a #\b #\c #\d #\e #\f #\g #\h #\i
|
|
#\j #\k #\l #\m #\n #\o #\p #\q
|
|
#\r #\s #\t #\u #\v #\w #\x #\y #\z))
|
|
(setf upper-case-chars '(#\A #\B #\C #\D #\E #\F #\G #\H #\I
|
|
#\J #\K #\L #\M #\N #\O #\P #\Q
|
|
#\R #\S #\T #\U #\V #\W #\X #\Y #\Z))
|
|
(setf lower-case-strings '("a" "b" "c" "d" "e" "f" "g" "h" "i"
|
|
"j" "k" "l" "m" "n" "o" "p" "q" "r"
|
|
"s" "t" "u" "v" "w" "x" "y" "z"))
|
|
(setf upper-case-strings '("A" "B" "C" "D" "E" "F" "G" "H" "I"
|
|
"J" "K" "L" "M" "N" "O" "P" "Q" "R"
|
|
"S" "T" "U" "V" "W" "X" "Y" "Z"))
|
|
(setf numbers '( 0 1 2 3 4 5 6 7 8 9))
|
|
(setf lower-case-symbols '(\a \b \c \d \e \f \g \h \i
|
|
\j \k \l \m \n \o \p \q
|
|
\r \s \t \u \v \w \x \y \z))
|
|
(setf upper-case-symbols '(A B C D E F G H I J K L M N O P Q R
|
|
S T U V W X Y Z))))
|
|
(do-test test-character
|
|
(and (every #'(lambda (x y) (char= (character x) y)) lower-case-strings lower-case-chars)
|
|
(every #'(lambda (x y) (char= (character x) y)) upper-case-strings upper-case-chars)
|
|
(every #'(lambda (x y) (char= (character x) y)) upper-case-symbols upper-case-chars)
|
|
(every #'(lambda (x y) (char= (character x) y)) lower-case-symbols lower-case-chars)
|
|
(every #'(lambda (x) (characterp (character x))) numbers))))
|
|
|
|
|
|
STOP
|