Add massive update-agenda-from-select! procedure, make use of it
[8sync.git] / tests.scm
index 0c5862431d63072a517fe3b547e4f92870baa6b0..a958ea247bd8ff0d4c2fa6203ec1fab51d35c536 100644 (file)
--- a/tests.scm
+++ b/tests.scm
       (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")))