There is a typo, in my previous post, It should have been: prop_2 v1 v2 = v1 == v2 not: prop_2 v1 v2 = v2 == v2
Moreover, I realised that the (nice) function verboseCheck doesn't exist in QuickCheck 2. However you can always do the following in ghci, to see whether my suggestion works or not: sample (arbitrary :: Gen (Maybe Double, Maybe Double) ) On 5 May 2010 09:01, Ozgur Akgun <ozgurak...@gmail.com> wrote: > 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<http://hackage.haskell.org/packages/archive/QuickCheck/1.1.0.0/doc/html/Test-QuickCheck.html#v:verboseCheck>on > these two and observe the results. > > Best, > > > > > On 5 May 2010 08:47, Tim Docker <t...@dockerz.net> wrote: > >> 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 >> > > > > -- > Ozgur Akgun > -- Ozgur Akgun
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe