Saturday, October 1, 2016

ScalaTest assert* : Example...

scala> import org.scalatest.Assertions._
import org.scalatest.Assertions._

scala> def fn() = {  //#299
     |   throw new IllegalStateException("illegal state")
     | }
fn: ()Nothing

scala> assertThrows[IllegalArgumentException] {
     |   fn()
     | }
org.scalatest.exceptions.TestFailedException: Expected exception java.lang.IllegalArgumentException to be thrown, but java.lang.IllegalStateException was thrown
	at org.scalatest.Assertions$class.newAssertionFailedException(Assertions.scala:528)
	at org.scalatest.Assertions$.newAssertionFailedException(Assertions.scala:1387)
	at org.scalatest.Assertions$class.assertThrows(Assertions.scala:871)
	at org.scalatest.Assertions$.assertThrows(Assertions.scala:1387)
	at .<init>(<console>:27)
	at .<clinit>(<console>)


scala> assertResult(2) {
     |   3
     | }
org.scalatest.exceptions.TestFailedException: Expected 2, but got 3
	at org.scalatest.Assertions$class.newAssertionFailedException(Assertions.scala:528)
	at org.scalatest.Assertions$.newAssertionFailedException(Assertions.scala:1387)
	at org.scalatest.Assertions$class.assertResult(Assertions.scala:1023)
	at org.scalatest.Assertions$.assertResult(Assertions.scala:1387)
	at .<init>(<console>:26)


scala> val no = 5
no: Int = 5

scala> assert(no == 2)
org.scalatest.exceptions.TestFailedException: 5 did not equal 2
	at org.scalatest.Assertions$class.newAssertionFailedException(Assertions.scala:528)
	at org.scalatest.Assertions$.newAssertionFailedException(Assertions.scala:1387)
	at org.scalatest.Assertions$AssertionsHelper.macroAssert(Assertions.scala:501)
	at .<init>(<console>:27)
	at .<clinit>(<console>)

scala>

scala> import org.scalatest.DiagrammedAssertions._
import org.scalatest.DiagrammedAssertions._

scala> val no = 5
no: Int = 5

scala> assert(no == 2)
org.scalatest.exceptions.TestFailedException:

assert(no == 2)
       |  |  |
       5  |  2
          false

	at org.scalatest.Assertions$class.newAssertionFailedException(Assertions.scala:528)
	at org.scalatest.DiagrammedAssertions$.newAssertionFailedException(DiagrammedAssertions.scala:385)
	at org.scalatest.DiagrammedAssertions$DiagrammedAssertionsHelper.macroAssert(DiagrammedAssertions.scala:241)
	at .<init>(<console>:30)
scala>

scala> val caught =
     |   intercept[ArithmeticException] {
     |     1 / 0
     |   }
caught: ArithmeticException = java.lang.ArithmeticException: / by zero