fradrive/test/Test/QuickCheck/Classes/PersistField.hs
2022-10-12 09:35:16 +02:00

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)
]