aboutsummaryrefslogtreecommitdiff
path: root/tests/promise.scm
blob: 1c0e235f2162546326ff0c0dff6e1ca35b4c1f4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(use-modules (tests)
             (fibers)
             (unit-test)
             (knots parallelism)
             (knots promise))

(run-fibers-for-tests
 (lambda ()
   (let ((promises
          (map (lambda (i)
                 (fibers-delay
                  (lambda ()
                    (* i 2))))
               (iota 10))))

     (assert-equal
      #f
      (fibers-promise-result-available? (car promises)))

     (assert-equal
      90
      (apply + (fibers-map fibers-force promises)))

     (assert-equal
      #t
      (fibers-promise-result-available? (car promises))))))

(display "promise test finished successfully\n")