dunai-test-0.8.1: Testing library for Dunai
Safe HaskellSafe-Inferred
LanguageHaskell2010

FRP.Dunai.QuickCheck

Synopsis

Random stream generation

Parameters used to generate random input streams

Time delta generation

generateDeltas :: Distribution -> Range -> Length -> Gen DTime Source #

Generate a random delta according to some required specifications.

generateDelta :: Maybe DTime -> Maybe DTime -> Gen DTime Source #

Generate one random delta, possibly within a range.

generateDSNormal :: DTime -> DTime -> Maybe DTime -> Maybe DTime -> Gen DTime Source #

Generate a random delta following a normal distribution, and possibly within a given range.

timeStampsUntil :: DTime -> Gen [DTime] Source #

Generate random samples up until a max time.

timeStampsUntilWith :: Gen DTime -> DTime -> Gen [DTime] Source #

Generate random samples up until a max time, with a given time delta generation function.

Random stream generation

generateStream :: Arbitrary a => Distribution -> Range -> Length -> Gen (SignalSampleStream a) Source #

Generate random stream.

generateStreamWith :: (Int -> DTime -> Gen a) -> Distribution -> Range -> Length -> Gen (SignalSampleStream a) Source #

Generate random stream, parameterized by the value generator.

generateConstantStream :: (Int -> DTime -> Gen a) -> (DTime, Int) -> Gen (SignalSampleStream a) Source #

Generate arbitrary stream with fixed length and constant delta.

generateStreamLenDT :: (Maybe DTime, Maybe DTime) -> Maybe (Either Int DTime) -> Gen (DTime, Int) Source #

Generate arbitrary stream

Helpers for common cases

uniDistStream :: Arbitrary a => Gen (SignalSampleStream a) Source #

Generate a stream of values with uniformly distributed time deltas.

uniDistStreamMaxDT :: Arbitrary a => DTime -> Gen (SignalSampleStream a) Source #

Generate a stream of values with uniformly distributed time deltas, with a max DT.

fixedDelayStream :: Arbitrary a => DTime -> Gen (SignalSampleStream a) Source #

Generate a stream of values with a fixed time delta.

fixedDelayStreamWith :: Arbitrary a => (DTime -> a) -> DTime -> Gen (SignalSampleStream a) Source #

Generate a stream of values with a fixed time delta.

Extended quickcheck generator

vectorOfWith :: Int -> (Int -> Gen a) -> Gen [a] Source #

Generates a list of the given length.