147 lines
3.4 KiB
Plaintext
147 lines
3.4 KiB
Plaintext
;; Functions To Be Tested: All of chapter 4 of the IRM
|
|
;;
|
|
;; Source: IRM, p 4.1
|
|
;;
|
|
;; Chapter 4: Strings
|
|
;;
|
|
;; Created By: Henry Cate III
|
|
;;
|
|
;; Creation Date: March 23, 1987
|
|
;;
|
|
;; Last Update:
|
|
;;
|
|
;; Filed As: {eris}<lispcore>test>DataTypes>Strings.test
|
|
;;
|
|
;;
|
|
|
|
|
|
(do-test "test strequal"
|
|
(and
|
|
(eq T (il:strequal "ABC" "ABC"))
|
|
(eq nil (il:strequal "ABC" "def"))
|
|
))
|
|
|
|
|
|
(do-test "test string-equal"
|
|
(and
|
|
(eq T (il:string-equal "ABC" "ABC"))
|
|
(eq nil (il:string-equal "ABC" "def"))
|
|
(eq T (il:string-equal "ABC" 'abc))
|
|
(eq T (il:string-equal "ABC" "AbC"))
|
|
))
|
|
|
|
|
|
(do-test "test allocstring"
|
|
(let* ((tempx "old string"))
|
|
(and
|
|
(equal "AAAAA" (il:allocstring 5 'a))
|
|
(equal "CCCCCCCCCC" (il:allocstring 10 'C))
|
|
(equal "****" (il:allocstring 4 '*))
|
|
(equal "...." (il:allocstring 4 '.))
|
|
(equal "HHH" (il:allocstring 3 'h tempx))
|
|
(equal "HHH" tempx)
|
|
)))
|
|
|
|
|
|
(do-test "test mkstring"
|
|
(and
|
|
(equal "ABC" (il:mkstring "ABC"))
|
|
(equal "(A B C)" (il:mkstring '(a b c)))
|
|
(equal "NIL" (il:mkstring nil))
|
|
))
|
|
|
|
|
|
(do-test "test nchars"
|
|
(and
|
|
(equal 3 (il:nchars 'ABC))
|
|
(equal 5 (il:nchars "ABC" T))
|
|
))
|
|
|
|
|
|
(do-test "test substring"
|
|
(and
|
|
(equal "DEF" (il:substring "ABCDEFG" 4 6))
|
|
(equal "C" (il:substring "ABCDEFG" 3 3))
|
|
(equal "CDEFG" (il:substring "ABCDEFG" 3 nil))
|
|
(equal "DEF" (il:substring "ABCDEFG" 4 -2))
|
|
(equal NIL (il:substring "ABCDEFG" 6 4))
|
|
(equal NIL (il:substring "ABCDEFG" 4 9))
|
|
(equal "B C" (il:substring '(a b c) 4 6))
|
|
))
|
|
|
|
|
|
(do-test "test gnc"
|
|
(let* ((tempx "abcdefg"))
|
|
(and
|
|
(equal "a" (il:mkstring (il:gnc tempx)))
|
|
(equal "bcdefg" tempx)
|
|
(equal "b" (il:mkstring (il:gnc tempx)))
|
|
(equal "cdefg" tempx)
|
|
)))
|
|
|
|
|
|
(do-test "test glc"
|
|
(let* ((tempx "abcdefg"))
|
|
(and
|
|
(equal "g" (il:mkstring (il:glc tempx)))
|
|
(equal "abcdef" tempx)
|
|
(equal "f" (il:mkstring (il:glc tempx)))
|
|
(equal "abcde" tempx)
|
|
)))
|
|
|
|
|
|
(do-test "test concat"
|
|
(and
|
|
(equal "abcDEF" (il:concat "abc" "DEF"))
|
|
(equal "abcDEFGHI" (il:concat "abc" 'DEF "GHI"))
|
|
(equal "(A B C)ABC" (il:concat '(a b c) "ABC"))
|
|
))
|
|
|
|
|
|
(do-test "test concatlist"
|
|
(and
|
|
(equal "AB(C D)EF" (il:concatlist '(A B (C D) "EF")))
|
|
))
|
|
|
|
|
|
(do-test "test rplstring"
|
|
(and
|
|
(equal "ABCEND" (il:rplstring "ABCDEF" -3 "END"))
|
|
(equal "ABC(A B C)K" (il:rplstring "ABCDEFGHIJK" 4 '(A B C)))
|
|
))
|
|
|
|
|
|
(do-test "test rplcharcode"
|
|
(and
|
|
(equal "ABFDEF" (il:rplcharcode "ABCDEF" 3 (il:charcode F)))
|
|
(equal "ABCDXF" (il:rplcharcode "ABCDEF" -2 (il:charcode X)))
|
|
))
|
|
|
|
|
|
(do-test "test strpos"
|
|
(and
|
|
(eq 4 (il:strpos "ABC" "XYZABCDEF"))
|
|
(eq NIL (il:strpos "ABC" "XYZABCDEF" 5))
|
|
(eq 10 (il:strpos "ABC" "XYZABCDEFABC" 5))
|
|
(eq 4 (il:strpos "A&C&" "XYZABCDEF" NIL '&))
|
|
(eq NIL (il:strpos "DEF&" "XYZABCDEF" NIL '&))
|
|
(eq NIL (il:strpos "ABC" "XYZABCDEF" NIL NIL T))
|
|
(eq 4 (il:strpos "ABC" "XYZABCDEF" 4 NIL T))
|
|
(eq 7 (il:strpos "ABC" "XYZABCDEFABC" NIL NIL NIL T))
|
|
(eq 2 (il:strpos "A" "A" NIL NIL NIL T))
|
|
))
|
|
|
|
|
|
(do-test "test strposl"
|
|
(and
|
|
(eq 4 (il:strposl '(A B C) "XYZBCD"))
|
|
(eq 5 (il:strposl '(A B C) "XYZBCD" 5))
|
|
(eq 4 (il:strposl '(A B C) "ABCDEF" nil T))
|
|
(eq 3 (il:strposl '(A B C D) "XYZBCD" nil T T))
|
|
))
|
|
|
|
|
|
|
|
STOP
|
|
|