Renamed files: constanten→constants, adt-positie→adt-position, adt-doolhof→adt-maze, adt-sleutel→adt-key, adt-tijdslimiet→adt-timer, adt-teken→adt-draw, adt-spel→adt-game. All message names, variables, comments, and tests converted to English. Also fixed counter location bug (time-label x/y were swapped). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
1.1 KiB
Racket
29 lines
1.1 KiB
Racket
#lang r7rs
|
|
|
|
(define-library ()
|
|
(import (scheme base)
|
|
(pp1 tests)
|
|
(snake-wpo adt-positie))
|
|
(export test)
|
|
(begin
|
|
|
|
(define (test-oefening-1)
|
|
;; We maken twee aparte positie-objecten die een verschillende y-oordinaat hebben
|
|
(define p1 (maak-positie 100 200))
|
|
(define p2 (maak-positie 100 600))
|
|
;; We controleren eerst dat beiden een apart object zijn
|
|
(check (not (eq? p1 p2)) "Beide positie-objecten mogen niet eq?-gelijk zijn")
|
|
;; We controleren of ze verschillend zijn met de eigen 'vergelijk?-operatie...
|
|
(check (not ((p1 'vergelijk?) p2)) "Beide posities mogen niet gelijk zijn aan elkaar!")
|
|
;; We object `p2` aan zodanig dat `p1` en `p2` dezelfde `x` en `y` hebben.
|
|
((p2 'y!) 200)
|
|
;; En we doen de controle met de 'vergelijk?-operatie opnieuw, maar deze keer moeten ze gelijk zijn aan elkaar
|
|
(check ((p1 'vergelijk?) p2) "Beide posities moeten gelijk zijn aan elkaar!"))
|
|
|
|
(define (test)
|
|
(run-test test-oefening-1 "Oefening 1"))))
|
|
|
|
;; Voor de test uit te voeren voer je onderstaande code uit in de REPL:
|
|
;;
|
|
;; (test)
|