#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))
))