your quick check property (in a different way of writing) is the
following:
prop_1 :: Maybe Double
-> Bool
prop_1 v = v == v
but what you want is actually the following:
prop_2 :: Maybe Double
-> Maybe Double -> Bool
prop_2 v1 v2 = v2 ==
v2
if I understood the problem correctly, using prop_2 should
solve it. just run verboseCheck
on these two and observe the results.
Best,
I've notice a behaviour of quickcheck that is unexpected to me. With
this code:
import Test.QuickCheck
main = check myconfig
((\v -> v == v) :: (Maybe Double,Maybe Double) -> Bool)
myconfig = defaultConfig{configMaxTest=100000,
configEvery = \n args -> show n ++ ":\n"
++ unlines args}
I am relying on the default Arbitrary instances to generate pairs of
maybe doubles. But to my surprise, all of the pairs have these patterns:
(Just _ Just _)
(Nothing, Nothing)
I never see patterns:
(Just _, Nothing)
(Nothing, Just _)
Why is this the case?
Thanks,
Tim
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe