module Test.QuickCheck.Instances.Text () where
import Prelude ()
import Prelude.Compat
import Test.QuickCheck
import qualified Data.Text as TS
import qualified Data.Text.Lazy as TL
instance Arbitrary TS.Text where
    arbitrary = TS.pack <$> arbitrary
    shrink xs = TS.pack <$> shrink (TS.unpack xs)
instance Arbitrary TL.Text where
    arbitrary = TL.pack <$> arbitrary
    shrink xs = TL.pack <$> shrink (TL.unpack xs)
instance CoArbitrary TS.Text where
    coarbitrary = coarbitrary . TS.unpack
instance CoArbitrary TL.Text where
    coarbitrary = coarbitrary . TL.unpack
instance Function TS.Text where
    function = functionMap TS.unpack TS.pack
instance Function TL.Text where
    function = functionMap TL.unpack TL.pack