Skip to content

Character

Given a file named “main.scm” with:

(import (scheme base))
(write-u8 (if (char? <expression>) 65 66))

When I successfully run stak main.scm

Then the stdout should contain exactly “A”.

expression
#\A
#\newline
(integer->char 65)

Given a file named “main.scm” with:

(import (scheme base) (scheme char))
(write-u8 (if (<predicate> #\<value>) 65 66))

When I successfully run stak main.scm

Then the stdout should contain exactly “<output>”.

predicatevalueoutput
char-alphabetic?aA
char-alphabetic?AA
char-alphabetic?zA
char-alphabetic?ZA
char-alphabetic?0B
char-numeric?0A
char-numeric?9A
char-numeric?AB
char-whitespace?newlineA
char-whitespace?returnA
char-whitespace?spaceA
char-whitespace?tabA
char-whitespace?AB

Given a file named “main.scm” with:

(import (scheme base))
(write-char #\A)

When I successfully run stak main.scm

Then the stdout should contain exactly “A”.

Given a file named “main.scm” with:

(import (scheme base))
(write-char #\A)
(newline)
(write-char #\B)

When I successfully run stak main.scm

Then the stdout should contain exactly:

A
B

Given a file named “main.scm” with:

(import (scheme base))
(write-u8 (if (<predicate> <characters>) 65 66))

When I successfully run stak main.scm

Then the stdout should contain exactly “<output>”.

predicatecharactersoutput
char=?#\A #\AA
char=?#\A #\BB
char=?#\A #\A #\AA
char=?#\A #\A #\BB
char<?#\A #\BA
char<?#\A #\AB
char<?#\B #\AB
char<?#\A #\B #\CA
char<?#\A #\B #\BB
char<=?#\A #\BA
char<=?#\A #\AA
char<=?#\B #\AB
char<=?#\A #\B #\CA
char<=?#\A #\B #\BA

Given a file named “main.scm” with:

(import (scheme base) (scheme char))
(write-u8 (if (<predicate> <characters>) 65 66))

When I successfully run stak main.scm

Then the stdout should contain exactly “<output>”.

predicatecharactersoutput
char-ci=?#\A #\AA
char-ci=?#\a #\AA
char-ci=?#\A #\BB

Given a file named “main.scm” with:

(import (scheme base) (scheme char))
(write-u8 (if (eqv? (<predicate> <input>) <output>) 65 66))

When I successfully run stak main.scm

Then the stdout should contain exactly “A”.

predicateinputoutput
char-downcase#\A#\a
char-downcase#\a#\a
char-upcase#\a#\A
char-upcase#\A#\A