 (assert (= ::TestCase (type t11)))
 (assert (= [c4 c5] (:contexts t11)))
 (assert (= [t9 t10] (:children t11)))
+
+
+;; README examples
+    (defassert positive [x] (pos? x))
+    (success? (positive 1))
+    ;;=> true
+    (success? (positive -1))
+    ;;=> false
+    (success? (positive "hello"))
+    ;;=> false
+    (deftest addition [a 1, b 2]
+      (integer? a)
+      (integer? b)
+      (integer? (+ a b)))
+    (success? (addition))
+    ;;=> true
+    (defcontext random-int []
+      (rand-int Integer/MAX_VALUE))
+    (deftest random-addition [a random-int, b random-int]
+      (integer? (+ a b))
+      (= (+ a b) (+ b a)))
+
+    (success? (random-addition))
+    ;;=> true
+    (defsuite all-tests [] addition random-addition)
+
+    (success? (all-tests))
+    ;;=> true

  (eval (format-assertion a)))
 
(defmacro assertion [locals & body]
  (format-assertion (Assertion locals `(do ~@body))))

(defmacro defassert
  "Defines an Assertion.

      (apply f (active c) states))
    (let [active (reduce close-context active (:parents c))]
      (dissoc active c))))

(defn- coerce-context [c]
  (if (and (symbol? c) (= ::Context (type (var-get (resolve c)))))
    c (Context [] (fn [] c) nil)))

(defmacro defcontext
  "Defines a context.
