X-Git-Url: https://jxself.org/git/?p=8sync.git;a=blobdiff_plain;f=tests%2Ftest-agenda.scm;h=a26c6b7eaed051260154babcf797030e0def1728;hp=013bce7c2d2bb45c85b74a9fc146d7a228076ba3;hb=2255f6996a4fbe708b235760816a6dd49959fb6d;hpb=b387687cfe0aea2f5461bb211b627ce072364ad4 diff --git a/tests/test-agenda.scm b/tests/test-agenda.scm index 013bce7..a26c6b7 100644 --- a/tests/test-agenda.scm +++ b/tests/test-agenda.scm @@ -30,17 +30,6 @@ (define var (@@ (8sync agenda) var))) - - -;;; Helpers -;;; ======= - -(define (speak-it) - (let ((messages '())) - (lambda* (#:optional message) - (if message (set! messages (append messages (list message)))) - messages))) - ;;; queue helpers ;;; ============= @@ -270,30 +259,26 @@ ;; the dummy test -(define speaker (speak-it)) - (define (dummy-func) - (speaker "I'm a dummy\n")) + (speak "I'm a dummy\n")) (define (run-dummy) - (speaker "I bet I can make you say you're a dummy!\n") + (speak "I bet I can make you say you're a dummy!\n") (run-it dummy-func)) -(begin - (set! speaker (speak-it)) ; reset the speaker - (start-agenda (make-agenda #:queue (make-q* run-dummy)) - #: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"))) +(with-fresh-speaker + (run-agenda (make-agenda #:queue (make-q* run-dummy)) + #:stop-condition (true-after-n-times 2)) + (test-equal (get-spoken) + '("I bet I can make you say you're a dummy!\n" + "I'm a dummy\n"))) ;; should only do the first one after one round though -(begin - (set! speaker (speak-it)) ; reset the speaker - (start-agenda (make-agenda #:queue (make-q* run-dummy)) - #:stop-condition (true-after-n-times 1)) - (test-equal (speaker) - '("I bet I can make you say you're a dummy!\n"))) +(with-fresh-speaker + (run-agenda (make-agenda #:queue (make-q* run-dummy)) + #:stop-condition (true-after-n-times 1)) + (test-equal (get-spoken) + '("I bet I can make you say you're a dummy!\n"))) ;; End tests