21 lines
678 B
Haskell
21 lines
678 B
Haskell
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)
|
|
]
|