module Test.QuickCheck.Classes.PathPiece ( pathPieceLaws , pathMultiPieceLaws ) where import ClassyPrelude import Test.QuickCheck import Test.QuickCheck.Classes import Web.PathPieces import Data.Proxy pathPieceLaws :: forall a. (Arbitrary a, PathPiece a, Eq a, Show a) => Proxy a -> Laws pathPieceLaws _ = Laws "PathPiece" [ ("Partial Isomorphism", property $ \(a :: a) -> fromPathPiece (toPathPiece a) == Just a) ] pathMultiPieceLaws :: forall a. (Arbitrary a, PathMultiPiece a, Eq a, Show a) => Proxy a -> Laws pathMultiPieceLaws _ = Laws "PathMultiPiece" [ ("Partial Isomorphism", property $ \(a :: a) -> fromPathMultiPiece (toPathMultiPiece a) == Just a) ]