Carp/test/char.carp

146 lines
4.0 KiB
Plaintext

(use Char)
(load "Test.carp")
(use Test)
(deftest test
(assert-equal test
(String.head " ")
\space
"space literal works")
(assert-equal test
(String.head "\t")
\tab
"tab literal works")
(assert-equal test
(String.head "\t")
\tab
"tab literal works")
(assert-equal test
(String.head "\n")
\newline
"newline literal works")
(assert-equal test
(String.head "\b")
\backspace
"backspace literal works")
(assert-equal test
(String.head "\r")
\return
"return literal work")
(assert-equal test
(String.head "\f")
\formfeed
"formfeed literal works")
(assert-equal test
"Π"
&(str \u03a0)
"unicode literals work")
(assert-equal test
"a"
&(str \a)
"str works with ASCII")
(assert-equal test
"ñ"
&(str \ñ)
"str works with Latin1")
(assert-equal test
"😲"
&(str \😲)
"str works with Emoji")
(assert-true test
(= \a \a)
"char = works as expected I")
(assert-true test
(= &\a &\a)
"char = works as expected II")
(assert-true test
(/= \a \b)
"char /= works as expected I")
(assert-true test
(/= &\a &\b)
"char /= works as expected II")
(assert-true test
(< \a \b)
"char < works as expected I")
(assert-true test
(< &\a &\b)
"char < works as expected II")
(assert-true test
(> \b \a)
"char > works as expected I")
(assert-true test
(> &\b &\a)
"char > works as expected II")
(assert-equal test
0
(meaning &\0)
"meaning works as expected 0")
(assert-equal test
9
(meaning &\9)
"meaning works as expected 9")
(assert-true test
(upper-case? \A)
"upper-case? works as expected I")
(assert-false test
(upper-case? \a)
"upper-case? works as expected II")
(assert-false test
(upper-case? \#)
"upper-case? works as expected III")
(assert-true test
(lower-case? \a)
"lower-case? works as expected I")
(assert-false test
(lower-case? \A)
"lower-case? works as expected II")
(assert-false test
(lower-case? \#)
"lower-case? works as expected III")
(assert-true test
(alpha? \a)
"alpha? works as expected I")
(assert-true test
(alpha? \A)
"alpha? works as expected II")
(assert-false test
(alpha? \#)
"alpha? works as expected III")
(assert-false test
(alpha? \0)
"alpha? works as expected III")
(assert-false test
(num? \a)
"num? works as expected I")
(assert-false test
(num? \A)
"num? works as expected II")
(assert-false test
(num? \#)
"num? works as expected III")
(assert-true test
(num? \0)
"num? works as expected III")
(assert-true test
(alphanum? \a)
"alphanum? works as expected I")
(assert-true test
(alphanum? \A)
"alphanum? works as expected II")
(assert-false test
(alphanum? \#)
"alphanum? works as expected III")
(assert-true test
(alphanum? \0)
"alphanum? works as expected III")
(assert-equal test
48b
(to-byte \0)
"to-byte works as expected")
(assert-equal test
\A
(from-byte 65b)
"from-byte works as expected")
)