Half way towards getting multiple args working (don't work yet)
This commit is contained in:
parent
1e2c8852d4
commit
f9325526ab
|
@ -3,4 +3,5 @@
|
||||||
:url "http://example.com/FIXME"
|
:url "http://example.com/FIXME"
|
||||||
:license {:name "Eclipse Public License"
|
:license {:name "Eclipse Public License"
|
||||||
:url "http://www.eclipse.org/legal/epl-v10.html"}
|
:url "http://www.eclipse.org/legal/epl-v10.html"}
|
||||||
:dependencies [[org.clojure/clojure "1.5.1"]])
|
:dependencies [[org.clojure/clojure "1.5.1"]
|
||||||
|
[org.clojure/math.combinatorics "0.0.7"]])
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
(vector? arg)
|
(vector? arg)
|
||||||
(map? arg))))
|
(map? arg))))
|
||||||
|
|
||||||
(def generic-args '(nil () (quote (a :b "c")) true "test" :test 0 Integer/MAX_VALUE 22/7 0.0001 -0.0001))
|
(def generic-args '(nil () (quote (a :b "c")) true "test" :test 0 22/7 0.0001 -0.0001))
|
||||||
|
|
||||||
(defn constants [form]
|
(defn constants [form]
|
||||||
"return a list of all elements in this form which are constants"
|
"return a list of all elements in this form which are constants"
|
||||||
|
@ -40,13 +40,22 @@
|
||||||
true %)
|
true %)
|
||||||
(constants sexpr)))))
|
(constants sexpr)))))
|
||||||
|
|
||||||
|
|
||||||
|
(defn n-of [arg n]
|
||||||
|
"Return a list of n instances of arg"
|
||||||
|
(cond
|
||||||
|
(zero? n) nil
|
||||||
|
true (cons arg (n-of arg (dec n)))))
|
||||||
|
|
||||||
|
|
||||||
(defn generate-test [fndef extra-vars]
|
(defn generate-test [fndef extra-vars]
|
||||||
(cond (or (= (first fndef) 'def)(= (first fndef) 'defn))
|
(cond (or (= (first fndef) 'def)(= (first fndef) 'defn))
|
||||||
(let [name (first (rest fndef))]
|
(let [name (first (rest fndef))
|
||||||
|
potential-args (find-interesting-args fndef extra-vars)]
|
||||||
(list 'deftest (symbol (str "test-" name))
|
(list 'deftest (symbol (str "test-" name))
|
||||||
(concat (list 'testing (str name))
|
(concat (list 'testing (str name))
|
||||||
(map #(generate-assertion name %)
|
(map #(generate-assertion name %)
|
||||||
(find-interesting-args fndef extra-vars)))))))
|
(cond (= ))))))
|
||||||
|
|
||||||
;; generating a test file
|
;; generating a test file
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue