Skip to content

Commit

Permalink
Added extended-true?
Browse files Browse the repository at this point in the history
  • Loading branch information
marick committed Apr 26, 2012
1 parent 621fe08 commit 9a3b7c4
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
9 changes: 6 additions & 3 deletions src/midje/checkers/extended_falsehood.clj
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
(ns ^{:doc "Some failing checks carry additional information."}
midje.checkers.extended-falsehood)

(defn as-data-laden-falsehood [value] ; was as-chatty-falsehood
(defn as-data-laden-falsehood [value]
(vary-meta value assoc :midje/data-laden-falsehood true))

(defn data-laden-falsehood? [value] ; chatty-checker-falsehood
(defn data-laden-falsehood? [value]
(:midje/data-laden-falsehood (meta value)))

(defn data-laden-falsehood-to-map [value]
(with-meta value {}))

(defn extended-false? [value] ; was chattily-false
(defn extended-false? [value]
(or (not value)
(data-laden-falsehood? value)))

(defn extended-true? [value]
(not (extended-false? value)))

18 changes: 14 additions & 4 deletions test/midje/checkers/t_extended_falsehood.clj
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
(ns midje.checkers.t-extended-falsehood
(:use midje.sweet
[midje.checkers.extended-falsehood :only [extended-false? as-data-laden-falsehood
data-laden-falsehood?]]
[midje.checkers.extended-falsehood]
midje.test-util
clojure.pprint))

(facts "about an extended notion of falsehood"
(extended-false? false) => truthy
(extended-false? true) => falsey
(extended-false? {:intermediate-results 3}) => falsey
(extended-false? (as-data-laden-falsehood {})) => truthy)
(extended-false? (as-data-laden-falsehood {})) => truthy

".. and its inverse"
(extended-true? false) => falsey
(extended-true? true) => truthy
(extended-true? {:intermediate-results 3}) => truthy
(extended-true? (as-data-laden-falsehood {})) => falsey)

(facts "about data-laden falsehoods"
(as-data-laden-falsehood [5]) => data-laden-falsehood?
(meta (as-data-laden-falsehood (with-meta [5] {:foo true}))) => (contains {:foo true}))
(meta (as-data-laden-falsehood (with-meta [5] {:foo true}))) => (contains {:foo true}))





0 comments on commit 9a3b7c4

Please sign in to comment.