(if message (set! messages (append messages (list message))))
messages)))
+(define (true-after-n-times n)
+ (let ((count 0))
+ (lambda _
+ (set! count (+ count 1))
+ (if (>= count n) #t #f))))
+
;; the dummy test
(define speaker (speak-it))
(set! speaker (speak-it)) ; reset the speaker
(enq! q run-dummy)
(start-agenda (make-agenda #:queue q)
- (true-after-n-times 2))
+ #:stop-condition (true-after-n-times 2))
(test-equal (speaker)
'("I bet I can make you say you're a dummy!\n"
"I'm a dummy\n")))
(set! speaker (speak-it)) ; reset the speaker
(enq! q run-dummy)
(start-agenda (make-agenda #:queue q)
- (true-after-n-times 1))
+ #:stop-condition (true-after-n-times 1))
(test-equal (speaker)
'("I bet I can make you say you're a dummy!\n")))