 
 
 (deftest fn?-tests
+  (doseq [op ops]
+    (if (not= op :fn)
+      (is-not (p/fn? {:op op}))
+      (is (p/fn? {:op op}))))
   (is (p/fn? (:init foo)))
   (is (p/fn? (:init bar)))
   (is (p/fn? fail))

  (:require [oxcart.pattern :as p]
            [oxcart.test-util :refer :all]
            [clojure.test :refer :all]))


(def foo



(deftest let?-tests
  (doseq [op ops]
    (if (not= op :let)
      (is-not (p/let? {:op op}))
      (is (p/let? {:op op}))))
  (is-not (p/let? foo))
  (is-not (p/let? (:init foo)))
  (is-not (p/let? bar))
  (is-not (p/let? (:init bar)))
  (is (p/let? addition)))


(deftest letfn?-tests
  (doseq [op ops]
    (if (not= op :letfn)
      (is-not (p/letfn? {:op op}))
      (is (p/letfn? {:op op}))))
  (is-not (p/letfn? addition))
  (is-not (p/letfn? foo))
  (is-not (p/letfn? (:init foo)))
