Current section
Files
Jump to
Current section
Files
tests/Test/Data/Binary.phi
module Test.Data.Binary where
import Test.QuickCheck (TestGroup(..), TestResult, quickCheck)
import Prelude (IO, ($), (==))
import Data.Binary.Base64 (decode, encode)
import Data.Binary(toAtom, toList, listToBin)
import Data.Atom
propBase64 :: Binary -> Boolean
propBase64 b = (decode $ encode b) == b
propBA :: Binary -> Boolean
propBA v = toBinary (toAtom v) == v
propAB :: Atom -> Boolean
propAB v = toAtom (toBinary v) == v
propToList :: Binary -> Boolean
propToList b = listToBin (toList b) == b
test :: TestGroup (Integer -> IO TestResult)
test = Exe [ quickCheck "decode_encode" propBase64
, quickCheck "toBinary_toAtom " propBA
, quickCheck "toAtom_toBinary " (\v -> toAtom (toBinary v) == v)
, quickCheck "toList_listToBin" propToList
]