#lang scheme/base
(require (planet schematics/schemeunit:3/test))
(require "task.ss")
(provide task-tests)
(define (do-nothing) (void))
(define d (make-task 'd null do-nothing))
(define e (make-task 'e null do-nothing))
(define f (make-task 'f null do-nothing))
(define-task c (d e f) (void))
(define-task b (c d) (void))
(define-task a (b c) 2)
(define task-tests
  (test-suite
   "All tests for task"
   (test-case
    "task-traverse"
    (let-values (([v o] (task-traverse a)))
      (check-equal? o (list f e d c b a))))
   (test-case
    "task-run-action"
    (check-equal? (task-run-action a) 2))
   ))