19 lines
553 B
Haskell
19 lines
553 B
Haskell
-- SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>
|
|
--
|
|
-- SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
module Test.QuickCheck.Classes.PersistField
|
|
( persistFieldLaws
|
|
) where
|
|
|
|
import ClassyPrelude
|
|
import Test.QuickCheck
|
|
import Test.QuickCheck.Classes
|
|
import Database.Persist
|
|
import Data.Proxy
|
|
|
|
persistFieldLaws :: forall a. (Arbitrary a, PersistField a, Eq a, Show a) => Proxy a -> Laws
|
|
persistFieldLaws _ = Laws "PersistField"
|
|
[ ("Partial Isomorphism", property $ \(a :: a) -> fromPersistValue (toPersistValue a) == Right a)
|
|
]
|