   (run-tests [x] "Runs tests defined for the Namespace, Var, or TestCase."))
 
 (defprotocol TestInvokable
-  (invoke-test [t states active strategy]
+  (invoke-test [t states strategy active]
                "(private) Executes the TestCase or Assertion."))
 
 (extend-class clojure.lang.Fn TestInvokable
-              (invoke-test [f states active strategy] (apply f states)))
+              (invoke-test [f states strategy active] (apply f states)))
 
 ;;; DATATYPES
 

  "Executes a test case in context.  active is the map of currently
  active Contexts.  strategy is a function that determines how tests
  are executed."
  ([t] (run-test-case t {}))
  ([t active] (run-test-case t {} default-strategy))
  ([t active strategy]
     {:pre [(= ::TestCase (type t))
            (every? #(= ::Context (type %)) (:contexts t))]}
     (try

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

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