 
 (defn not
   "passes if the given matcher fails
-  (matcha/run-match (matcha/not (matcha/= 1)) 1) ; => passes
-  (matcha/run-match (matcha/not (matcha/= 2)) 1) ; => fails"
+
+  (matcha/run-match (matcha/not (matcha/= 1)) 2) ; => passes
+  (matcha/run-match (matcha/not (matcha/= 2)) 2) ; => fails"
   [m]
   (make-record-matcher
     #(core/not ((:match m) %))

      (str "vals: " (string/join ", " (vals m)) " (was " (pr-str m) ")"))))

(defn has-key
  "passes if the map received has the given key

  (matcha/run-match (matcha/has-key 1) {:a 1}) ; => passes
  (matcha/run-match (matcha/has-key 1) {:a 2})  ; => fails"
  [v]
  (make-record-matcher
    (fn [m] (core/some #{v} (keys m)))

        (str "a map not containing the key " (pr-str k) " (was " (pr-str m) ")")))))

(defn has-val
  "passes if the map received contains the given val

  (matcha/run-match (matcha/has-val 1) {:a 1}) ; => passes
  (matcha/run-match (matcha/has-val 1) {:a 2}) ; => fails"
  [v]
  (make-record-matcher
    (fn [m] (core/some #{v} (vals m)))
