final case class Spec[-R, +E, +L, +T](caseValue: SpecCase[R, E, L, T, Spec[R, E, L, T]]) extends Product with Serializable
A Spec[R, E, L, T] is the backbone of _ZIO Test_. Every spec is either a
suite, which contains other specs, or a test of type T. All specs are
annotated with labels of type L, require an environment of type R and
may potentially fail with an error of type E.
- Self Type
- Spec[R, E, L, T]
- Alphabetic
- By Inheritance
- Spec
- 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
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val caseValue: SpecCase[R, E, L, T, Spec[R, E, L, T]]
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def distinguish: Spec[R, E, Either[L, L], T]
Returns a new spec with the suite labels distinguished by
Left, and the test labels distinguished byRight. - final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def exists[R1 <: R, E1 >: E](f: (SpecCase[R, E, L, T, Any]) => ZIO[R1, E1, Boolean]): ZIO[R1, E1, Boolean]
Determines if any node in the spec is satisfied by the given predicate.
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def fold[Z](f: (SpecCase[R, E, L, T, Z]) => Z): Z
Folds over all nodes to produce a final result.
- final def foldM[R1 <: R, E1, Z](defExec: ExecutionStrategy)(f: (SpecCase[R, E, L, T, Z]) => ZIO[R1, E1, Z]): ZIO[R1, E1, Z]
Effectfully folds over all nodes according to the execution strategy of suites, utilizing the specified default for other cases.
- final def forall[R1 <: R, E1 >: E](f: (SpecCase[R, E, L, T, Any]) => ZIO[R1, E1, Boolean]): ZIO[R1, E1, Boolean]
Determines if all node in the spec are satisfied by the given predicate.
- final def foreach[R1 <: R, E1, A](failure: (Cause[E]) => ZIO[R1, E1, A], success: (T) => ZIO[R1, E1, A]): ZIO[R1, Nothing, Spec[R1, E1, L, A]]
Iterates over the spec with the sequential strategy as the default, and effectfully transforming every test with the provided function, finally reconstructing the spec with the same structure.
- final def foreachExec[R1 <: R, E1, A](defExec: ExecutionStrategy)(failure: (Cause[E]) => ZIO[R1, E1, A], success: (T) => ZIO[R1, E1, A]): ZIO[R1, Nothing, Spec[R1, E1, L, A]]
Iterates over the spec with the specified default execution strategy, and effectfully transforming every test with the provided function, finally reconstructing the spec with the same structure.
- final def foreachPar[R1 <: R, E1, A](failure: (Cause[E]) => ZIO[R1, E1, A], success: (T) => ZIO[R1, E1, A]): ZIO[R1, Nothing, Spec[R1, E1, L, A]]
Iterates over the spec with the parallel strategy as the default, and effectfully transforming every test with the provided function, finally reconstructing the spec with the same structure.
- final def foreachParN[R1 <: R, E1, A](n: Int)(failure: (Cause[E]) => ZIO[R1, E1, A], success: (T) => ZIO[R1, E1, A]): ZIO[R1, Nothing, Spec[R1, E1, L, A]]
Iterates over the spec with the parallel (
n) strategy as the default, and effectfully transforming every test with the provided function, finally reconstructing the spec with the same structure. - final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def mapLabel[L1](f: (L) => L1): Spec[R, E, L1, T]
Returns a new spec with remapped labels.
- final def mapTest[T1](f: (T) => T1): Spec[R, E, L, T1]
Returns a new spec with remapped tests.
- final def mapTests[R1, E1, L1 >: L, T1](suiteCase: (ZIO[R, E, Vector[Spec[R1, E1, L1, T1]]]) => ZIO[R1, E1, Vector[Spec[R1, E1, L1, T1]]], testCase: (ZIO[R, E, T]) => ZIO[R1, E1, T1]): Spec[R1, E1, L1, T1]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- 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
- final def provideManaged[E1 >: E](managed: Managed[E1, R]): Spec[Any, E1, L, T]
Uses the specified
Managedto provide each test in this spec with its required environment. - final def provideManagedShared[E1 >: E](managed: Managed[E1, R]): Spec[Any, E1, L, T]
Uses the specified
Managedonce to provide all tests in this spec with a shared version of their required environment.Uses the specified
Managedonce to provide all tests in this spec with a shared version of their required environment. This is useful when the act of creating the environment is expensive and should only be performed once. - final def size: ZIO[R, E, Int]
Computes the size of the spec, i.e.
Computes the size of the spec, i.e. the number of tests in the spec.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def transform[R1, E1, L1, T1](f: (SpecCase[R, E, L, T, Spec[R1, E1, L1, T1]]) => SpecCase[R1, E1, L1, T1, Spec[R1, E1, L1, T1]]): Spec[R1, E1, L1, T1]
Transforms the spec one layer at a time.
- final def transformAccum[R1, E1, L1, T1, Z](z0: Z)(f: (Z, SpecCase[R, E, L, T, Spec[R1, E1, L1, T1]]) => (Z, SpecCase[R1, E1, L1, T1, Spec[R1, E1, L1, T1]])): ZIO[R, E, (Z, Spec[R1, E1, L1, T1])]
Transforms the spec statefully, one layer at a time.
- 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()