-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Arbitrary instances for proto-lens.
--   
--   The proto-lens-arbitrary allows generating arbitrary messages for use
--   with QuickCheck.
@package proto-lens-arbitrary
@version 0.1.2.6


-- | An Arbitrary instance for protocol buffer Messages to use with
--   QuickCheck.
module Data.ProtoLens.Arbitrary

-- | A newtype wrapper that provides an Arbitrary instance for the
--   underlying message.
newtype ArbitraryMessage a
ArbitraryMessage :: a -> ArbitraryMessage a
[unArbitraryMessage] :: ArbitraryMessage a -> a
arbitraryMessage :: Message a => Gen a

-- | Shrink each field individually and append all shrinks together into a
--   single list.
shrinkMessage :: Message a => a -> [a]
instance GHC.Base.Functor Data.ProtoLens.Arbitrary.ArbitraryMessage
instance GHC.Show.Show a => GHC.Show.Show (Data.ProtoLens.Arbitrary.ArbitraryMessage a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.ProtoLens.Arbitrary.ArbitraryMessage a)
instance Data.ProtoLens.Message.Message a => Test.QuickCheck.Arbitrary.Arbitrary (Data.ProtoLens.Arbitrary.ArbitraryMessage a)
