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, B](that: Gen[R1, B]): Gen[R1, (A, B)]
A symbolic alias for
zip
. -
def
<*>[R1 <: R, B](that: Gen[R1, B]): Gen[R1, (A, B)]
A symbolic alias for
cross
. -
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
cross[R1 <: R, B](that: Gen[R1, B]): Gen[R1, (A, B)]
Composes this generator with the specified generator to create a cartesian product of elements.
-
def
crossWith[R1 <: R, B, C](that: Gen[R1, B])(f: (A, B) ⇒ C): Gen[R1, C]
Composes this generator with the specified generator to create a cartesian product of elements with the specified function.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
filter(f: (A) ⇒ Boolean): 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[Random, Int] = Gen.anyInt.map(_ * 2)
-
def
filterNot(f: (A) ⇒ Boolean): 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]): Gen[R1, B]
- def flatten[R1 <: R, B](implicit ev: <:<[A, Gen[R1, B]]): 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): Gen[R, B]
-
def
mapM[R1 <: R, B](f: (A) ⇒ ZIO[R1, Nothing, B]): Gen[R1, B]
Maps an effectual function over a generator.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
noShrink: 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]): 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
runCollect: ZIO[R, Nothing, List[A]]
Runs the generator and collects all of its values in a list.
-
def
runCollectN(n: Int): ZIO[R, Nothing, List[A]]
Repeatedly runs the generator and collects the specified number of values in a list.
-
def
runHead: 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): Gen[R, A]
-
def
zip[R1 <: R, B](that: Gen[R1, B]): Gen[R1, (A, B)]
Zips two generators together pairwise.
Zips two generators together pairwise. The new generator will generate elements as long as either generator is generating elements, running the other generator multiple times if necessary.
-
def
zipWith[R1 <: R, B, C](that: Gen[R1, B])(f: (A, B) ⇒ C): Gen[R1, C]
Zips two generators together pairwise with the specified function.
Zips two generators together pairwise with the specified function. The new generator will generate elements as long as either generator is generating elements, running the other generator multiple times if necessary.