final case class Gen[-R, +A](sample: ZStream[R, Nothing, Sample[R, A]]) extends Product with Serializable
A Gen[R, A]
represents a generator of values of type A
, which requires an
environment R
. Generators may be random or deterministic.
- Self Type
- Gen[R, A]
- Alphabetic
- By Inheritance
- Gen
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def ++[R1 <: R, A1 >: A](that: Gen[R1, A1])(implicit trace: Trace): Gen[R1, A1]
A symbolic alias for
concat
. - def <*>[R1 <: R, B](that: Gen[R1, B])(implicit zippable: Zippable[A, B], trace: Trace): Gen[R1, Out]
A symbolic alias for
zip
. - final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def collect[B](pf: PartialFunction[A, B])(implicit trace: Trace): Gen[R, B]
Maps the values produced by this generator with the specified partial function, discarding any values the partial function is not defined at.
- def concat[R1 <: R, A1 >: A](that: Gen[R1, A1])(implicit trace: Trace): Gen[R1, A1]
Concatenates the specified deterministic generator with this determinstic generator, resulting in a deterministic generator that generates the values from this generator and then the values from the specified generator.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def filter(f: (A) => Boolean)(implicit trace: Trace): Gen[R, A]
Filters the values produced by this generator, discarding any values that do not meet the specified predicate.
Filters the values produced by this generator, discarding any values that do not meet the specified predicate. Using
filter
can reduce test performance, especially if many values must be discarded. It is recommended to use combinators such asmap
andflatMap
to create generators of the desired values instead.val evens: Gen[Any, Int] = Gen.int.map(_ * 2)
- def filterNot(f: (A) => Boolean)(implicit trace: Trace): Gen[R, A]
Filters the values produced by this generator, discarding any values that meet the specified predicate.
- def filterZIO[R1 <: R](f: (A) => ZIO[R1, Nothing, Boolean])(implicit trace: Trace): Gen[R1, A]
Filters the values produced by this generator, discarding any values that do not meet the specified effectual predicate.
Filters the values produced by this generator, discarding any values that do not meet the specified effectual predicate. Using
filterZIO
can reduce test performance, especially if many values must be discarded. It is recommended to use combinators such asmap
andflatMap
to create generators of the desired values instead.val evens: Gen[Any, Int] = Gen.int.map(_ * 2)
- def flatMap[R1 <: R, B](f: (A) => Gen[R1, B])(implicit trace: Trace): Gen[R1, B]
- def flatten[R1 <: R, B](implicit ev: <:<[A, Gen[R1, B]], trace: Trace): Gen[R1, B]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def map[B](f: (A) => B)(implicit trace: Trace): Gen[R, B]
- def mapZIO[R1 <: R, B](f: (A) => ZIO[R1, Nothing, B])(implicit trace: Trace): Gen[R1, B]
Maps an effectual function over a generator.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noShrink(implicit trace: Trace): Gen[R, A]
Discards the shrinker for this generator.
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def reshrink[R1 <: R, B](f: (A) => Sample[R1, B])(implicit trace: Trace): Gen[R1, B]
Discards the shrinker for this generator and applies a new shrinker by mapping each value to a sample using the specified function.
Discards the shrinker for this generator and applies a new shrinker by mapping each value to a sample using the specified function. This is useful when the process to shrink a value is simpler than the process used to generate it.
- def resize(size: Int)(implicit trace: Trace): Gen[R, A]
Sets the size parameter for this generator to the specified value.
- def runCollect(implicit trace: Trace): ZIO[R, Nothing, List[A]]
Runs the generator and collects all of its values in a list.
- def runCollectN(n: Int)(implicit trace: Trace): ZIO[R, Nothing, List[A]]
Repeatedly runs the generator and collects the specified number of values in a list.
- def runHead(implicit trace: Trace): ZIO[R, Nothing, Option[A]]
Runs the generator returning the first value of the generator.
- val sample: ZStream[R, Nothing, Sample[R, A]]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withFilter(f: (A) => Boolean)(implicit trace: Trace): Gen[R, A]
- def zip[R1 <: R, B](that: Gen[R1, B])(implicit zippable: Zippable[A, B], trace: Trace): Gen[R1, Out]
Composes this generator with the specified generator to create a cartesian product of elements.
- def zipWith[R1 <: R, B, C](that: Gen[R1, B])(f: (A, B) => C)(implicit trace: Trace): Gen[R1, C]
Composes this generator with the specified generator to create a cartesian product of elements with the specified function.