 (def t6 (TestCase [c5] [t4 t4]))
 
 (with-log
-  (dorun (result-seq (run-test-case t6)))
+  (dorun (result-seq (run-test-case t6 {} lazy-strategy)))
   (assert (= @*log* [:c5-open :a3 :a4 :a3 :a4 :c5-close])))
 
 ;; Lazy Evaluation

(def t7 (TestCase [c6] [a3 a4]))

(with-log
  (let [results (run-test-case t7)]
    (assert (= @*log* [:c6-open]))
    (dorun (result-seq results))
    (assert (= @*log* [:c6-open :a3 :a4]))))

  (run-tests [x] "Runs tests defined for the Namespace, Var, or TestCase."))

(defprotocol TestInvokable
  (invoke-test [t states active strategy]
               "(private) Executes the TestCase or Assertion."))

(extend-class clojure.lang.Fn TestInvokable
              (invoke-test [f states active strategy] (apply f states)))

;;; DATATYPES

