/
cljtest.clj
25 lines (23 loc) · 1.01 KB
/
cljtest.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(ns state-flow.cljtest
(:require [clojure.test :as t]
[state-flow.core :as core]
[state-flow.probe :as probe]
[state-flow.assertions.matcher-combinators]))
(defmacro ^:deprecated match?
"DEPRECATED. Use state-flow.assertions.matcher-combinators/match? instead. "
[match-desc actual expected & [params]]
(let [params* (merge {:times-to-try probe/default-times-to-try
:sleep-time probe/default-sleep-time
:caller-meta (meta &form)
:description match-desc}
params)]
`(~'state-flow.assertions.matcher-combinators/match? ~expected ~actual ~params*)))
(defmacro defflow
{:arglists '([name & flows]
[name parameters & flows])}
[name & forms]
(let [[parameters & flows] (if (map? (first forms))
forms
(cons {} forms))]
`(t/deftest ~name
(core/run* ~parameters (core/flow ~(str name) ~@flows)))))