module Data.MonoidMap.QuickCheck.Instances.CoArbitrary ()
where
import Data.Function
( (.)
)
import Data.MonoidMap
( MonoidMap
)
import Test.QuickCheck
( CoArbitrary (coarbitrary)
)
import qualified Data.MonoidMap as MonoidMap
instance
( CoArbitrary k
, CoArbitrary v
)
=> CoArbitrary (MonoidMap k v)
where
coarbitrary :: forall b. MonoidMap k v -> Gen b -> Gen b
coarbitrary = Map k v -> Gen b -> Gen b
forall a b. CoArbitrary a => a -> Gen b -> Gen b
forall b. Map k v -> Gen b -> Gen b
coarbitrary (Map k v -> Gen b -> Gen b)
-> (MonoidMap k v -> Map k v) -> MonoidMap k v -> Gen b -> Gen b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. MonoidMap k v -> Map k v
forall k v. MonoidMap k v -> Map k v
MonoidMap.toMap