icepeak-0.7.1.0: tests/OrphanInstances.hs
module OrphanInstances where
import Data.Aeson (Value (..))
import Test.QuickCheck.Instances ()
import Test.QuickCheck.Arbitrary (Arbitrary (..))
import qualified Test.QuickCheck.Gen as Gen
import Store (Modification (..))
import AccessControl
instance Arbitrary AccessMode where
arbitrary = Gen.elements [minBound..maxBound]
instance Arbitrary AuthPath where
arbitrary = AuthPath <$> arbitrary <*> arbitrary
instance Arbitrary IcepeakClaim where
arbitrary = IcepeakClaim <$> arbitrary
instance Arbitrary Modification where
arbitrary = Gen.oneof
[ Put <$> arbitrary <*> arbitrary
, Delete <$> arbitrary
]
instance Arbitrary Value where
arbitrary = Gen.oneof
[ Object <$> Gen.scale (`div` 2) arbitrary
, Array <$> Gen.scale (`div` 2) arbitrary
, String <$> arbitrary
, Bool <$> arbitrary
, pure Null
]