{-| Description: Copyright: (c) 2019 Sam May License: GPL-3.0-or-later Maintainer: ag@eitilt.life Stability: experimental Portability: portable -} module Foreign.Libcdio.Read.Test.Classes ( laws , genReadMode , genWhence ) where import qualified Hedgehog as H import qualified Hedgehog.Gen as H.G import qualified Hedgehog.Classes as H.C import Foreign.Libcdio.Read import Test.Libcdio.Property.Common laws :: [LawsGroup] laws = [ ("ReadMode", map (\f -> f genReadMode) [ H.C.eqLaws , ordLaws' , H.C.showLaws , H.C.showReadLaws , H.C.boundedEnumLaws ] ), ("Whence", map (\f -> f genWhence) [ H.C.eqLaws , ordLaws' , H.C.showLaws , H.C.showReadLaws , H.C.boundedEnumLaws ] )] genReadMode :: H.Gen ReadMode genReadMode = H.G.enumBounded genWhence :: H.Gen Whence genWhence = H.G.enumBounded