; A test function for Assignment 3, CS 152, Fall 2006 (define (test) (for-each (lambda (x) (print(eval x)) (newline)) test-cases)) ; Test cases for Assignment 3, CS 152, Fall 2006 (define test-cases '((quadratic 1 -5 6) (quadratic 1 6 9) (quadratic 10 0 40) (quadratic 6/10 -5/10 1/10) (quadratic 0.6 -0.5 0.1) (has-whitespace? "hello!") (has-whitespace? "hello there!") (has-whitespace? "") (has-whitespace? (list->string '(#\a #\tab #\a))) (has-whitespace? (number->string (sqrt -1))) (has-whitespace? (string-append "hello" "there" "!")) (remove-noncharacters '(6)) (remove-noncharacters '(#\h #\e #\l #\l #\o)) (remove-noncharacters '(#\h #f #\e #\l null #\l #\o 0)) (remove-noncharacters '((h i) hi #\h 'i #\i)) (list->string (map char-upcase (remove-noncharacters '((h) #\h 3.3 #\i #\!)))) (clean-alist '()) (clean-alist '((e . 3) (a . 2) (o . 1) (e . 2) (u . 1) (a . 1) (e . 1))) (clean-alist '((count . 4) (count . 3) (count . 2) (count . 1))) (clean-alist '((E (E + E) (E * E) (Id)) (E (E * E) (Id)) (E (Id)) (Id (x) (y)) (Id (y)))) (clean-alist '((Sun . #f) (Mon . #t) (Tue . #t) (Wed . #t) (Thu . #t) (Fri . #t) (Sat . #f))) (build-time-of-day "nine" "o'clock") (build-time-of-day 9 "o'clock") (build-time-of-day 0 954) (build-time-of-day 9 -54) (build-time-of-day -9 54) (build-time-of-day 954 00) (define t1 (build-time-of-day 9 54)) (define t2 (build-time-of-day 22 55)) (define t3 (build-time-of-day 0 01)) (define t4 (build-time-of-day 12 01)) (define t5 (build-time-of-day 22 55)) (define t6 (build-time-of-day 22 45)) (time-of-day->string 'noon) (time-of-day->string t1) (time-of-day->string t2) (time-of-day->string t3) (time-of-day->string t4) (time-of-day-equal? t1 t2) (time-of-day-equal? t3 t4) (time-of-day-equal? t3 t4) (time-of-day-equal? t2 t2) (time-of-day-equal? t2 t5) (reachable-symbols 's '((s (np vp) (np vp pp)) (np (det n) (pro)) (vp (v np)) (pp (p np)) (adj happy)) '(s np vp pp)) (reachable-symbols 's '((s (np vp) (np vp pp)) (np (det n) (pro)) (vp (v np)) (pp (p np)) (adj happy)) '(s np vp pp adj)) (reachable-symbols 's '((s (np vp) (np vp pp)) (np (det n) (pro)) (vp (v np)) (pp (p np)) (pro (kim)) (adj happy)) '(s np vp pp adj pro)) (reachable-symbols 'vp '((s (np vp) (np vp pp)) (np (det n) (pro)) (vp (v np)) (pp (p np)) (pro (kim)) (adj happy)) '(s np vp pp adj pro)) (reachable-symbols 'E '((E (T) (E + T)) (T (F) (T * F)) (F (x y))) '(E T F)) (reachable-symbols 'E '((E (T) (E + T)) (T (F) (T * F)) (F (x) (y) (< E >))) '(E T F)) (reachable-symbols '+ '((E (T) (E + T)) (T (F) (T * F)) (F (x) (y) (< E >))) '(E T F)) (reachable-symbols 'CA '((AK (stop)) (AZ (stop) (CA) (NV) (UT)) (CA (stop) (OR) (NV) (AZ)) (HI (stop)) (ID (stop) (WA) (OR) (NV) (UT)) (NV (stop) (CA) (AZ) (UT) (ID) (OR)) (OR (stop) (WA) (CA) (NV) (ID)) (UT (stop) (ID) (AZ) (NV)) (WA (stop) (OR) (ID)) ) '(AK AZ CA HI ID NV OR UT WA)) ))