#lang r7rs ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Tests: Score ADT ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define-library (pacman-project tests test-score) (import (scheme base) (pp1 tests) (pacman-project adt score)) (export test) (begin ;; Test initial score (define (test-initial) (define s (make-score)) (check-eq? (s 'points) 0 "Initial score should be 0")) ;; Test score increase (define (test-increase) (define s (make-score)) ((s 'increase!)) (check-eq? (s 'points) 10 "Score should be 10 after 1 coin") ((s 'increase!)) (check-eq? (s 'points) 20 "Score should be 20 after 2 coins")) (define (test) (run-test test-initial "Score: initial score") (run-test test-increase "Score: increase"))))