-- | QuickCheck instances for automatically generating JSON inputs,
-- and checking that json-autotype works correctly on these.
module Main(
main
) where
import Control.Monad
import Data.Aeson
import Data.Aeson.AutoType.Extract
import Data.Aeson.AutoType.Test() -- Arbitrary instance for Value
import Test.QuickCheck
import Test.SmallCheck
--import Test.QuickCheck.Arbitrary
prop_typeCheck :: Value -> Bool
prop_typeCheck v = v `typeCheck` extractType v
-- | Maximum reasonable depth for quick exhaustive testing
depth = 5
main :: IO ()
main = do smallCheck depth prop_typeCheck
quickCheckWith myArgs prop_typeCheck
where
-- 17 - reasonable size for runghc
--myArgs i = stdArgs { maxSize=i }
myArgs = stdArgs { maxSize=17, maxSuccess=1000 }