packages feed

Z-Data-2.0.0.2: test/Z/Data/Parser/UUIDSpec.hs

{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Z.Data.Parser.UUIDSpec where

import qualified Data.List                as List
import           Data.Word
import           Data.Int
import           GHC.Float
import qualified Z.Data.Builder           as B
import qualified Z.Data.Parser            as P
import qualified Z.Data.Text as T
import           Test.QuickCheck
import           Test.QuickCheck.Function
import           Test.QuickCheck.Property
import           Test.QuickCheck.Instances.UUID
import           Test.Hspec
import           Test.Hspec.QuickCheck

spec :: Spec
spec = describe "parser uuid" . modifyMaxSuccess (*10) . modifyMaxSize (*10) $ do
        prop "uuid roundtrip" $ \ t ->
            Right t === (P.parse' P.uuid . B.build $ B.uuid t)

        prop "uuid binary roundtrip" $ \ t ->
            Right t === (P.parse' P.decodeUUID . B.build $ B.encodeUUID t)