packages feed

text-show-0.1.0.0: tests/Properties.hs

{-# OPTIONS_GHC -fno-warn-orphans #-}
module Main where

import           Data.Complex
import           Data.Int
import           Data.Ratio
import qualified Data.Text as T
import           Data.Text.Lazy.Builder
import           Data.Word

import qualified Prelude as P
import           Prelude hiding (Show(..))

import           Test.QuickCheck

import qualified Text.Show.Text as T

prop_matchesShow :: (P.Show a, T.Show a, Arbitrary a) => a -> Bool
prop_matchesShow x = P.show x == T.unpack (T.show x)

instance Arbitrary Builder where
    arbitrary = fmap fromString arbitrary

main :: IO ()
main = do
    quickCheck (prop_matchesShow :: Bool                               -> Bool)
    quickCheck (prop_matchesShow :: Char                               -> Bool)
    quickCheck (prop_matchesShow :: Float                              -> Bool)
    quickCheck (prop_matchesShow :: Double                             -> Bool)
    quickCheck (prop_matchesShow :: Int                                -> Bool)
    quickCheck (prop_matchesShow :: Int8                               -> Bool)
    quickCheck (prop_matchesShow :: Int16                              -> Bool)
    quickCheck (prop_matchesShow :: Int32                              -> Bool)
    quickCheck (prop_matchesShow :: Int64                              -> Bool)
    quickCheck (prop_matchesShow :: Integer                            -> Bool)
    quickCheck (prop_matchesShow :: Ordering                           -> Bool)
    quickCheck (prop_matchesShow :: Word                               -> Bool)
    quickCheck (prop_matchesShow :: Word8                              -> Bool)
    quickCheck (prop_matchesShow :: Word16                             -> Bool)
    quickCheck (prop_matchesShow :: Word32                             -> Bool)
    quickCheck (prop_matchesShow :: Word64                             -> Bool)
    quickCheck (prop_matchesShow :: ()                                 -> Bool)
    quickCheck (prop_matchesShow :: Builder                            -> Bool)
    quickCheck (prop_matchesShow :: String                             -> Bool)
    quickCheck (prop_matchesShow :: [Int]                              -> Bool)
    quickCheck (prop_matchesShow :: Ratio Int                          -> Bool)
    quickCheck (prop_matchesShow :: Complex Double                     -> Bool)
    quickCheck (prop_matchesShow :: (Int, Double)                      -> Bool)
    quickCheck (prop_matchesShow :: (Int, Double, Char)                -> Bool)
    quickCheck (prop_matchesShow :: (Int, Double, Char, String)        -> Bool)
    quickCheck (prop_matchesShow :: (Int, Double, Char, String, [Int]) -> Bool)