Your boolean-supplier should be:
(s/def ::boolean-supplier
(s/fspec
:args (s/cat)
:ret boolean?))
On Thursday, January 17, 2019 at 6:38:44 AM UTC-6, Josip Gracin wrote:
>
> Hi!
>
> The following test throws an exception when run using "lein test" and I
> can't figure out why.
>
> (ns issue
> (:require [clojure.test :as t]
> [clojure.spec.alpha :as s]
> [clojure.spec.test.alpha :as st]))
>
> (s/fdef ::boolean-supplier
> :args (s/cat)
> :ret boolean?)
>
> (defn make-fn [boolean-supplier]
> (fn []
> (boolean-supplier)))
>
> (s/fdef make-fn
> :args (s/cat :supplier ::boolean-supplier))
>
> (t/deftest issue
> (t/testing "issue demo"
> (st/instrument)
> (make-fn (fn [] true))))
>
> Here's the output of "lein test":
>
> $ lein test
>
> lein test issue
>
> lein test :only issue/issue
>
>
> ERROR in (issue) (Compiler.java:7647)
> Uncaught exception, not in assertion.
>
> expected: nil
>
> actual: clojure.lang.Compiler$CompilerException: Syntax error compiling
> at (clojure/test/check/clojure_test.cljc:95:1).
> #:clojure.error{:phase :compile-syntax-check, :line 95, :column 1, :source
> "clojure/test/check/clojure_test.cljc"}
> at clojure.lang.Compiler.load (Compiler.java:7647)
>
> clojure.lang.RT.loadResourceScript (RT.java:381)
> clojure.lang.RT.loadResourceScript (RT.java:372)
>
> clojure.lang.RT.load (RT.java:463)
> clojure.lang.RT.load (RT.java:428)
> ...
> Caused by: java.lang.ClassCastException: clojure.lang.AFunction$1 cannot
> be cast to clojure.lang.MultiFn
> at clojure.core$get_method.invokeStatic (core.clj:1817)
> clojure.core$get_method.invoke (core.clj:1817)
>
> clojure.test.check.clojure_test$eval1131.invokeStatic
> (clojure_test.cljc:95)
> clojure.test.check.clojure_test$eval1131.invoke (clojure_test.cljc:95)
> clojure.lang.Compiler.eval (Compiler.java:7176)
>
> clojure.lang.Compiler.load (Compiler.java:7635)
> ...
>
> Using Java 10.0.2 and the following dependencies:
>
> $ lein deps :tree
> [clojure-complete "0.2.5" :exclusions [[org.clojure/clojure]]]
> [nrepl "0.5.3" :exclusions [[org.clojure/clojure]]]
> [nrepl/bencode "1.0.0"]
> [org.clojure/clojure "1.10.0"]
> [org.clojure/core.specs.alpha "0.2.44"]
> [org.clojure/spec.alpha "0.2.176"]
> [org.clojure/test.check "0.9.0"]
>
> Any ideas?
>
>
--
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
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.