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


-- | Standard spec's for Hashable instances
--   
--   Standard spec's for Hashable instances
@package genvalidity-hspec-hashable
@version 0.2.0.2


-- | Hashable properties
--   
--   You will need <tt>TypeApplications</tt> to use these.
module Test.Validity.Hashable

-- | Standard test spec for properties of Hashable instances for valid
--   values
--   
--   Example usage:
--   
--   <pre>
--   hashableSpecOnValid @Double
--   </pre>
hashableSpecOnValid :: forall a. (Show a, Eq a, Typeable a, GenValid a, Hashable a) => Spec

-- | Standard test spec for properties of Hashable instances for invalid
--   values
--   
--   Example usage:
--   
--   <pre>
--   hashableSpecOnInvalid @Double
--   </pre>
hashableSpecOnInvalid :: forall a. (Show a, Eq a, Typeable a, GenInvalid a, Hashable a) => Spec

-- | Standard test spec for properties of Hashable instances for unchecked
--   values
--   
--   Example usage:
--   
--   <pre>
--   hashableSpec @Int
--   </pre>
hashableSpec :: forall a. (Show a, Eq a, Typeable a, GenUnchecked a, Hashable a) => Spec

-- | Standard test spec for properties of Hashable instances for arbitrary
--   values
--   
--   Example usage:
--   
--   <pre>
--   hashableSpecOnArbitrary @Int
--   </pre>
hashableSpecOnArbitrary :: forall a. (Show a, Eq a, Typeable a, Arbitrary a, Hashable a) => Spec

-- | Standard test spec for properties of Hashable instances for values
--   generated by a given generator (and name for that generator).
--   
--   Example usage:
--   
--   <pre>
--   hashableSpecOnGen ((* 2) &lt;$&gt; genValid @Int) "even"
--   </pre>
hashableSpecOnGen :: forall a. (Show a, Eq a, Typeable a, Hashable a) => Gen a -> String -> (a -> [a]) -> Spec
