object Outcome extends Serializable
Companion object for trait Outcome that contains an implicit method that enables
collections of Outcomes to be flattened into a collections of contained exceptions.
- Source
 - Outcome.scala
 
- Alphabetic
 - By Inheritance
 
- Outcome
 - Serializable
 - 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()
 
 -   implicit  def convertOutcomeToIterator(outcome: Outcome): Iterator[Throwable]
Enables collections of
Outcomes to be flattened into a collections of contained exceptions.Enables collections of
Outcomes to be flattened into a collections of contained exceptions.Here's an example:
scala> import org.scalatest._ import org.scalatest._ scala> import prop.TableDrivenPropertyChecks._ import prop.TableDrivenPropertyChecks._ scala> val squares = // (includes errors) | Table( | ("x", "square"), | ( 0 , 0 ), | ( 1 , 1 ), | ( 2 , 4 ), | ( 3 , 8 ), | ( 4 , 16 ), | ( 5 , 26 ), | ( 6 , 36 ) | ) squares: org.scalatest.prop.TableFor2[Int,Int] = TableFor2((x,square), (0,0), (1,1), (2,4), (3,8), (4,16), (5,26), (6,36))Given the above table, which includes some errors, you can obtain an
IndexedSeqof theOutcomes of executing an assertion on each row of the table withoutcomeOf, like this:scala> import OutcomeOf._ import OutcomeOf._ scala> import Matchers._ import Matchers._ scala> val outcomes = for ((x, square) <- squares) yield outcomeOf { square shouldEqual x * x } outcomes: IndexedSeq[org.scalatest.Outcome] = Vector(Succeeded, Succeeded, Succeeded, Failed(org.scalatest.exceptions.TestFailedException: 8 did not equal 9), Succeeded, Failed(org.scalatest.exceptions.TestFailedException: 26 did not equal 25), Succeeded)Now you have a collection of all the outcomes, including successful ones. If you just want the
FailedandCanceledoutcomes, which contain exceptions, you can filter out anything that isn't "exceptional," like this:scala> outcomes.filter(_.isExceptional) res1: IndexedSeq[org.scalatest.Outcome] = Vector(Failed(org.scalatest.exceptions.TestFailedException: 8 did not equal 9), Failed(org.scalatest.exceptions.TestFailedException: 26 did not equal 25))
But if you just wanted the contained exceptions, you can (thanks to this implicit method) invoke
flattenon your collection:scala> outcomes.flatten res2: IndexedSeq[Throwable] = Vector(org.scalatest.exceptions.TestFailedException: 8 did not equal 9, org.scalatest.exceptions.TestFailedException: 26 did not equal 25)
 -   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()