trait Whenever extends AnyRef
Trait that contains the whenever clause that can be used in table- or generator-driven property checks.
- Source
- Whenever.scala
- Alphabetic
- By Inheritance
- Whenever
- 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
 
-   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()
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-   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()
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   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 whenever[T](condition: Boolean)(fun: => T)(implicit wa: WheneverAsserting[T]): ResultEvaluates the passed code block if the passed boolean condition is true, else throws DiscardedEvaluationException.Evaluates the passed code block if the passed boolean condition is true, else throws DiscardedEvaluationException.The whenevermethod can be used inside property check functions to discard invocations of the function with data for which it is known the property would fail. For example, given the followingFractionclass:class Fraction(n: Int, d: Int) { 
 require(d != 0) require(d != Integer.MIN_VALUE) require(n != Integer.MIN_VALUE)
 val numer = if (d < 0) -1 * n else n val denom = d.abs
 override def toString = numer + " / " + denom }import org.scalatest.prop.TableDrivenPropertyChecks._ 
 val fractions = Table( ("n", "d"), ( 1, 2), ( -1, 2), ( 1, -2), ( -1, -2), ( 3, 1), ( -3, 1), ( -3, 0), ( 3, -1), ( 3, Integer.MIN_VALUE), (Integer.MIN_VALUE, 3), ( -3, -1) )Imagine you wanted to check a property against this class with data that includes some value that are rejected by the constructor, such as a denominator of zero, which should result in an IllegalArgumentException. You could usewheneverto discard any rows in thefractionthat represent illegal arguments, like this:import org.scalatest.matchers.Matchers._ 
 forAll (fractions) { (n: Int, d: Int) =>
 whenever (d != 0 && d != Integer.MIN_VALUE && n != Integer.MIN_VALUE) {
 val f = new Fraction(n, d)
 if (n < 0 && d < 0 || n > 0 && d > 0) f.numer should be > 0 else if (n != 0) f.numer should be < 0 else f.numer should === (0)
 f.denom should be > 0 } }In this example, rows 6, 8, and 9 have values that would cause a false to be passed to whenever. (For example, in row 6,dis 0, which meansd!=0will be false.) For those rows,wheneverwill throwDiscardedEvaluationException, which will cause theforAllmethod to discard that row.- condition
- the boolean condition that determines whether - wheneverwill evaluate the- funfunction (- conditionis true) or throws- DiscardedEvaluationException(- conditionis false)
- fun
- the function to evaluate if the specified - conditionis true