org.scalatest

Assertions

object Assertions extends Assertions

Companion object that facilitates the importing of Assertions members as an alternative to mixing it in. One use case is to import Assertions members so you can use them in the Scala interpreter:

$scala -classpath scalatest.jar
Welcome to Scala version 2.7.3.final (Java HotSpot(TM) Client VM, Java 1.5.0_16).
Type in expressions to have them evaluated.
Type :help for more information.
 
scala> import org.scalatest.Assertions._
import org.scalatest.Assertions._
 
scala> assert(1 === 2)
org.scalatest.TestFailedException: 1 did not equal 2
	at org.scalatest.Assertions$class.assert(Assertions.scala:211)
	at org.scalatest.Assertions$.assert(Assertions.scala:511)
	at .<init>(<console>:7)
	at .<clinit>(<console>)
	at RequestResult$.<init>(<console>:3)
	at RequestResult$.<clinit>(<console>)
	at RequestResult$result(<console>)
	at sun.reflect.NativeMethodAccessorImpl.invoke...
 
scala> expect(3) { 1 + 3 }
org.scalatest.TestFailedException: Expected 3, but got 4
	at org.scalatest.Assertions$class.expect(Assertions.scala:447)
	at org.scalatest.Assertions$.expect(Assertions.scala:511)
	at .<init>(<console>:7)
	at .<clinit>(<console>)
	at RequestResult$.<init>(<console>:3)
	at RequestResult$.<clinit>(<console>)
	at RequestResult$result(<console>)
	at sun.reflect.NativeMethodAccessorImpl.in...
 
scala> val caught = intercept[StringIndexOutOfBoundsException] { "hi".charAt(-1) }
caught: StringIndexOutOfBoundsException = java.lang.StringIndexOutOfBoundsException: String index out of range: -1

Linear Supertypes
Assertions, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Assertions
  2. Assertions
  3. AnyRef
  4. Any
Visibility
  1. Public
  2. All

Type Members

  1. class Equalizer extends AnyRef

    Class used via an implicit conversion to enable any two objects to be compared with === in assertions in tests.

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  7. def assert (o: Option[String]): Unit

    Assert that an Option[String] is None.

    Assert that an Option[String] is None. If the condition is None, this method returns normally. Else, it throws TestFailedException with the String value of the Some included in the TestFailedException's detail message.

    This form of assert is usually called in conjunction with an implicit conversion to Equalizer, using a === comparison, as in:

    assert(a === b)
    

    For more information on how this mechanism works, see the documentation for Equalizer.

    o

    the Option[String] to assert

    Definition Classes
    Assertions
  8. def assert (o: Option[String], clue: Any): Unit

    Assert that an Option[String] is None.

    Assert that an Option[String] is None. If the condition is None, this method returns normally. Else, it throws TestFailedException with the String value of the Some, as well as the String obtained by invoking toString on the specified message, included in the TestFailedException's detail message.

    This form of assert is usually called in conjunction with an implicit conversion to Equalizer, using a === comparison, as in:

    assert(a === b, "extra info reported if assertion fails")
    

    For more information on how this mechanism works, see the documentation for Equalizer.

    o

    the Option[String] to assert

    clue

    An objects whose toString method returns a message to include in a failure report.

    Definition Classes
    Assertions
  9. def assert (condition: Boolean, clue: Any): Unit

    Assert that a boolean condition, described in String message, is true.

    Assert that a boolean condition, described in String message, is true. If the condition is true, this method returns normally. Else, it throws TestFailedException with the String obtained by invoking toString on the specified message as the exception's detail message.

    condition

    the boolean condition to assert

    clue

    An objects whose toString method returns a message to include in a failure report.

    Definition Classes
    Assertions
  10. def assert (condition: Boolean): Unit

    Assert that a boolean condition is true.

    Assert that a boolean condition is true. If the condition is true, this method returns normally. Else, it throws TestFailedException.

    condition

    the boolean condition to assert

    Definition Classes
    Assertions
  11. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  12. implicit def convertToEqualizer (left: Any): Equalizer

    Implicit conversion from Any to Equalizer, used to enable assertions with === comparisons.

    Implicit conversion from Any to Equalizer, used to enable assertions with === comparisons.

    For more information on this mechanism, see the documentation for Equalizer.

    Because trait Suite mixes in Assertions, this implicit conversion will always be available by default in ScalaTest Suites. This is the only implicit conversion that is in scope by default in every ScalaTest Suite. Other implicit conversions offered by ScalaTest, such as those that support the matchers DSL or invokePrivate, must be explicitly invited into your test code, either by mixing in a trait or importing the members of its companion object. The reason ScalaTest requires you to invite in implicit conversions (with the exception of the implicit conversion for === operator) is because if one of ScalaTest's implicit conversions clashes with an implicit conversion used in the code you are trying to test, your program won't compile. Thus there is a chance that if you are ever trying to use a library or test some code that also offers an implicit conversion involving a === operator, you could run into the problem of a compiler error due to an ambiguous implicit conversion. If that happens, you can turn off the implicit conversion offered by this convertToEqualizer method simply by overriding the method in your Suite subclass, but not marking it as implicit:

    // In your Suite subclass
    override def convertToEqualizer(left: Any) = new Equalizer(left)
    

    left

    the object whose type to convert to Equalizer.

    Attributes
    implicit
    Definition Classes
    Assertions
  13. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  14. def equals (arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  15. def expect (expected: Any)(actual: Any): Unit

    Expect that the value passed as expected equals the value passed as actual.

    Expect that the value passed as expected equals the value passed as actual. If the actual value equals the expected value (as determined by ==), expect returns normally. Else, expect throws an TestFailedException whose detail message includes the expected and actual values.

    expected

    the expected value

    actual

    the actual value, which should equal the passed expected value

    Definition Classes
    Assertions
  16. def expect (expected: Any, clue: Any)(actual: Any): Unit

    Expect that the value passed as expected equals the value passed as actual.

    Expect that the value passed as expected equals the value passed as actual. If the actual equals the expected (as determined by ==), expect returns normally. Else, if actual is not equal to expected, expect throws an TestFailedException whose detail message includes the expected and actual values, as well as the String obtained by invoking toString on the passed message.

    expected

    the expected value

    clue

    An object whose toString method returns a message to include in a failure report.

    actual

    the actual value, which should equal the passed expected value

    Definition Classes
    Assertions
  17. def fail (cause: Throwable): Nothing

    Throws TestFailedException, with the passed Throwable cause, to indicate a test failed.

    Throws TestFailedException, with the passed Throwable cause, to indicate a test failed. The getMessage method of the thrown TestFailedException will return cause.toString().

    cause

    a Throwable that indicates the cause of the failure.

    Definition Classes
    Assertions
  18. def fail (message: String, cause: Throwable): Nothing

    Throws TestFailedException, with the passed String message as the exception's detail message and Throwable cause, to indicate a test failed.

    Throws TestFailedException, with the passed String message as the exception's detail message and Throwable cause, to indicate a test failed.

    message

    A message describing the failure.

    cause

    A Throwable that indicates the cause of the failure.

    Definition Classes
    Assertions
  19. def fail (message: String): Nothing

    Throws TestFailedException, with the passed String message as the exception's detail message, to indicate a test failed.

    Throws TestFailedException, with the passed String message as the exception's detail message, to indicate a test failed.

    message

    A message describing the failure.

    Definition Classes
    Assertions
  20. def fail (): Nothing

    Throws TestFailedException to indicate a test failed.

    Throws TestFailedException to indicate a test failed.

    Definition Classes
    Assertions
  21. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  22. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef
  23. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  24. def intercept [T <: AnyRef] (f: ⇒ Any)(implicit manifest: Manifest[T]): T

    Intercept and return an exception that's expected to be thrown by the passed function value.

    Intercept and return an exception that's expected to be thrown by the passed function value. The thrown exception must be an instance of the type specified by the type parameter of this method. This method invokes the passed function. If the function throws an exception that's an instance of the specified type, this method returns that exception. Else, whether the passed function returns normally or completes abruptly with a different exception, this method throws TestFailedException.

    Note that the type specified as this method's type parameter may represent any subtype of AnyRef, not just Throwable or one of its subclasses. In Scala, exceptions can be caught based on traits they implement, so it may at times make sense to specify a trait that the intercepted exception's class must mix in. If a class instance is passed for a type that could not possibly be used to catch an exception (such as String, for example), this method will complete abruptly with a TestFailedException.

    f

    the function value that should throw the expected exception

    manifest

    an implicit Manifest representing the type of the specified type parameter.

    returns

    the intercepted exception, if it is of the expected type

    Definition Classes
    Assertions
  25. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  26. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  27. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  28. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  29. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  30. def toString (): String

    Definition Classes
    AnyRef → Any
  31. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  32. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  33. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  34. def withClue (clue: Any)(fun: ⇒ Unit): Unit

    Executes the block of code passed as the second parameter, and, if it completes abruptly with a ModifiableMessage exception, prepends the "clue" string passed as the first parameter to the beginning of the detail message of that thrown exception, then rethrows it.

    Executes the block of code passed as the second parameter, and, if it completes abruptly with a ModifiableMessage exception, prepends the "clue" string passed as the first parameter to the beginning of the detail message of that thrown exception, then rethrows it. If clue does not end in a white space character, one space will be added between it and the existing detail message (unless the detail message is not defined).

    This method allows you to add more information about what went wrong that will be reported when a test fails. Here's an example:

    withClue("(Employee's name was: " + employee.name + ")") {
      intercept[IllegalArgumentException] {
        employee.getTask(-1)
      }
    }
    

    If an invocation of intercept completed abruptly with an exception, the resulting message would be something like:

    (Employee's name was Bob Jones) Expected IllegalArgumentException to be thrown, but no exception was thrown
    

    Definition Classes
    Assertions

Inherited from Assertions

Inherited from AnyRef

Inherited from Any