-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Linear time testing with variant of Arbitrary class that always terminates. -- -- Ever found non-terminating Arbitrary instance? Ever wondered what -- would be a runtime cost of particular Arbitrary instance? -- -- Never let it bother you again: this variant of Arbitrary is -- automatically generating instances, and allows you to see predictable -- linear time generators for most types (providing that you have any -- terminating constructor, that is constructor that does not go deeper -- into the data structure.) -- -- Usage: -- --
-- import Test.LessArbitrary -- -- data MyDataType = ... -- deriving (Show, Generic) -- -- instance LessArbitrary MyDataType -- instance Arbitrary where -- arbitrary = fasterArbitrary --@package less-arbitrary @version 0.1.0.2 module Test.LessArbitrary class LessArbitrary a lessArbitrary :: LessArbitrary a => CostGen a lessArbitrary :: (LessArbitrary a, Generic a, GLessArbitrary (Rep a)) => CostGen a oneof :: [CostGen a] -> CostGen a choose :: Random a => (a, a) -> CostGen a newtype CostGen a CostGen :: StateT Cost Gen a -> CostGen a [runCostGen] :: CostGen a -> StateT Cost Gen a (<$$$>) :: (a -> b) -> CostGen a -> CostGen b ($$$?) :: CostGen a -> CostGen a -> CostGen a currentBudget :: CostGen Cost fasterArbitrary :: LessArbitrary a => Gen a genericLessArbitrary :: (Generic a, GLessArbitrary (Rep a)) => CostGen a genericLessArbitraryMonoid :: (Generic a, GLessArbitrary (Rep a), Monoid a) => CostGen a flatLessArbitrary :: Arbitrary a => CostGen a spend :: Cost -> CostGen () withCost :: Int -> CostGen a -> Gen a elements :: [a] -> CostGen a forAll :: CostGen a -> (a -> CostGen b) -> CostGen b sizedCost :: CostGen a -> Gen a instance GHC.Num.Num Test.LessArbitrary.Cost instance GHC.Enum.Bounded Test.LessArbitrary.Cost instance GHC.Enum.Enum Test.LessArbitrary.Cost instance GHC.Classes.Ord Test.LessArbitrary.Cost instance GHC.Classes.Eq Test.LessArbitrary.Cost instance Control.Monad.Fix.MonadFix Test.LessArbitrary.CostGen instance GHC.Base.Monad Test.LessArbitrary.CostGen instance GHC.Base.Applicative Test.LessArbitrary.CostGen instance GHC.Base.Functor Test.LessArbitrary.CostGen instance Test.LessArbitrary.LessArbitrary c => Test.LessArbitrary.GLessArbitrary (GHC.Generics.K1 i c) instance Test.LessArbitrary.LessArbitrary GHC.Types.Bool instance Test.LessArbitrary.LessArbitrary GHC.Types.Int instance Test.LessArbitrary.LessArbitrary GHC.Integer.Type.Integer instance Test.LessArbitrary.LessArbitrary GHC.Types.Double instance Test.LessArbitrary.LessArbitrary GHC.Types.Char instance (Test.LessArbitrary.LessArbitrary k, Test.LessArbitrary.LessArbitrary v) => Test.LessArbitrary.LessArbitrary (k, v) instance (Test.LessArbitrary.LessArbitrary k, GHC.Classes.Ord k) => Test.LessArbitrary.LessArbitrary (Data.Set.Internal.Set k) instance (Test.LessArbitrary.LessArbitrary k, GHC.Classes.Eq k, GHC.Classes.Ord k, Data.Hashable.Class.Hashable k, Test.LessArbitrary.LessArbitrary v) => Test.LessArbitrary.LessArbitrary (Data.HashMap.Internal.HashMap k v) instance Test.LessArbitrary.LessArbitrary Data.Scientific.Scientific instance Test.LessArbitrary.LessArbitrary a => Test.LessArbitrary.LessArbitrary (Data.Vector.Vector a) instance Test.LessArbitrary.LessArbitrary a => Test.LessArbitrary.LessArbitrary [a] instance forall k (a :: k -> *) (b :: k -> *). (Test.LessArbitrary.GLessArbitrary a, Test.LessArbitrary.GLessArbitrary b, GHC.TypeNats.KnownNat (Test.LessArbitrary.SumLen a), GHC.TypeNats.KnownNat (Test.LessArbitrary.SumLen b), GHC.TypeNats.KnownNat (Test.LessArbitrary.Cheapness a), GHC.TypeNats.KnownNat (Test.LessArbitrary.Cheapness b)) => Test.LessArbitrary.GLessArbitrary (a GHC.Generics.:+: b) instance forall k (f :: k -> *) (c :: GHC.Generics.Meta). Test.LessArbitrary.GLessArbitrary f => Test.LessArbitrary.GLessArbitrary (GHC.Generics.C1 c f) instance forall k (f :: k -> *) (c :: GHC.Generics.Meta). Test.LessArbitrary.GLessArbitrary f => Test.LessArbitrary.GLessArbitrary (GHC.Generics.S1 c f) instance forall k (f :: k -> *) (m :: GHC.Generics.Meta). Test.LessArbitrary.GLessArbitrary f => Test.LessArbitrary.GLessArbitrary (GHC.Generics.D1 m f) instance Test.LessArbitrary.GLessArbitrary GHC.Generics.U1 instance forall k (a :: k -> *) (b :: k -> *). (Test.LessArbitrary.GLessArbitrary a, Test.LessArbitrary.GLessArbitrary b) => Test.LessArbitrary.GLessArbitrary (a GHC.Generics.:*: b) instance Test.QuickCheck.Property.Testable a => Test.QuickCheck.Property.Testable (Test.LessArbitrary.CostGen a)