racket-dns-2012/os-big-bang-testing.rkt

17 lines
586 B
Racket

#lang racket/base
(require racket/match)
(require rackunit)
(require "os-big-bang.rkt")
(provide check-message-handler)
(define (check-message-handler mh initial-w message final-w expected-actions)
(match-define (on-message pattern handler) mh)
(check-true (pattern message) "Message-handler pattern did not match message provided")
(define v (match (handler message initial-w)
[(? transition? t) t]
[new-w (transition new-w '())]))
(check-equal? v (transition final-w expected-actions)
"Produced world-and-actions did not match expected world-and-actions"))