Hi all,
raek helped me on IRC, and that's what finally works:
(defmacro defcomparisontest
"Define a GReQL/FunQL comparison test with name n on graph g that asserts the
equality of the results evaluating greql and all funqls."
[n g greql & funqls]
`(deftest ~n
~g ;; ensure the graph is loaded, if it is given as memoized function.
(println "####################################################")
(println "Comparison test:" ~(name n))
(let [gr# (do
(print "GReQL evaluation time:")
(jvalue-unpack (time (greql-eval ~g ~greql))))]
(doseq [funql-fn# ~(vec (for [funql funqls] `(fn [] ~funql)))]
(print "FunQL evaluation time:")
(is (= gr#
(time (let [r# (funql-fn#)]
(if (instance? clojure.lang.LazySeq r#)
(doall r#)
r#)))))))))
Bye,
Tassilo
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en