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
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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( ... ) @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
filtercan reduce test performance, especially if many values must be discarded. It is recommended to use combinators such asmapandflatMapto 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
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- 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[_]
- 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
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @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.