flat-0.2: test/Test/Data/Arbitrary.hs
{-# LANGUAGE TemplateHaskell #-}
module Test.Data.Arbitrary where
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as L
import qualified Data.ByteString.Short as SBS
import Data.DeriveTH
import qualified Data.Text as T
import Test.Data
import Test.Tasty.QuickCheck
-- xxx = generate (arbitrary :: Gen (Large (Int)))
instance Arbitrary SBS.ShortByteString where arbitrary = fmap SBS.pack arbitrary
instance Arbitrary B.ByteString where arbitrary = fmap B.pack arbitrary
instance Arbitrary L.ByteString where arbitrary = fmap L.pack arbitrary
instance Arbitrary T.Text where arbitrary = fmap T.pack arbitrary
-- instance Arbitrary a => Arbitrary (List a) where arbitrary = fmap l2L arbitrary
derive makeArbitrary ''N
derive makeArbitrary ''Tree
derive makeArbitrary ''List
derive makeArbitrary ''Unit
derive makeArbitrary ''Un
derive makeArbitrary ''A
derive makeArbitrary ''B
-- instance Arbitrary Word7 where arbitrary = toEnum <$> choose (0, 127)
-- derive makeArbitrary ''ASCII