BeWord

final class BeWord

This class is part of the ScalaTest matchers DSL. Please see the documentation for Matchers or MustMatchers for an overview of the matchers DSL.

Class BeWord contains an apply method that takes a Symbol, which uses reflection to find and access a Boolean property and determine if it is true. If the symbol passed is 'empty, for example, the apply method will use reflection to look for a public Java field named "empty", a public method named "empty", or a public method named "isEmpty". If a field, it must be of type Boolean. If a method, it must take no parameters and return Boolean. If multiple candidates are found, the apply method will select based on the following algorithm:

FieldMethod"is" MethodResult
   Throws TestFailedException, because no candidates found
  isEmpty()Invokes isEmpty()
 empty() Invokes empty()
 empty()isEmpty()Invokes empty() (this can occur when BeanProperty annotation is used)
empty  Accesses field empty
empty isEmpty()Invokes isEmpty()
emptyempty() Invokes empty()
emptyempty()isEmpty()Invokes empty() (this can occur when BeanProperty annotation is used)
class Object
trait Matchable
class Any

Value members

Concrete methods

def <[T : Ordering](right: T): Matcher[T]

This method enables the following syntax:

This method enables the following syntax:

result should be < (7)
                ^

Note that the less than operator will be invoked on be in this expression, not on a result of passing be to should, as with most other operators in the matchers DSL, because the less than operator has a higher precedence than should. Thus in the above case the first expression evaluated will be be < (7), which results in a matcher that is passed to should.

This method also enables the following syntax:

result should not (be < (7))
                     ^
def <=[T : Ordering](right: T): Matcher[T]

This method enables the following syntax:

This method enables the following syntax:

result should be <= (7)
                ^

Note that the less than or equal to operator will be invoked on be in this expression, not on a result of passing be to should, as with most other operators in the matchers DSL, because the less than or equal to operator has a higher precedence than should. Thus in the above case the first expression evaluated will be be <= (7), which results in a matcher that is passed to should.

This method also enables the following syntax:

result should not (be <= (7))
                     ^
def >[T : Ordering](right: T): Matcher[T]

This method enables the following syntax:

This method enables the following syntax:

result should be > (7)
                ^

Note that the greater than operator will be invoked on be in this expression, not on a result of passing be to should, as with most other operators in the matchers DSL, because the greater than operator has a higher precedence than should. Thus in the above case the first expression evaluated will be be > (7), which results in a matcher that is passed to should.

This method also enables the following syntax:

result should not (be > (7))
                     ^
def >=[T : Ordering](right: T): Matcher[T]

This method enables the following syntax:

This method enables the following syntax:

result should be >= (7)
                ^

Note that the greater than or equal to operator will be invoked on be in this expression, not on a result of passing be to should, as with most other operators in the matchers DSL, because the greater than or equal to operator has a higher precedence than should. Thus in the above case the first expression evaluated will be be >= (7), which results in a matcher that is passed to should.

This method also enables the following syntax:

result should not (be >= (7))
                     ^
infix def a[S <: AnyRef](bePropertyMatcher: BePropertyMatcher[S]): Matcher[S]

This method enables the following syntax, where fileMock is, for example, of type File and file refers to a BePropertyMatcher[File]:

This method enables the following syntax, where fileMock is, for example, of type File and file refers to a BePropertyMatcher[File]:

fileMock should not { be a (file) }
                        ^
infix def a[S](aMatcher: AMatcher[S]): Matcher[S]

This method enables the following syntax, where negativeNumber is, for example, of type AMatcher:

This method enables the following syntax, where negativeNumber is, for example, of type AMatcher:

8 should not { be a (negativeNumber) }
                 ^
infix def an[S <: AnyRef](bePropertyMatcher: BePropertyMatcher[S]): Matcher[S]

This method enables the following syntax, where keyEvent is, for example, of type KeyEvent and actionKey refers to a BePropertyMatcher[KeyEvent]:

This method enables the following syntax, where keyEvent is, for example, of type KeyEvent and actionKey refers to a BePropertyMatcher[KeyEvent]:

keyEvent should not { be an (actionKey) }
                        ^
infix def an[S](anMatcher: AnMatcher[S]): Matcher[S]

This method enables the following syntax, where oddNumber is, for example, of type AnMatcher:

This method enables the following syntax, where oddNumber is, for example, of type AnMatcher:

8 should not { be an (oddNumber) }
                 ^
def apply[U](spread: Spread[U]): Matcher[U]

This method enables the following syntax for the "primitive" numeric types:

This method enables the following syntax for the "primitive" numeric types:

sevenDotOh should be (7.1 +- 0.2)
                    ^
def apply(right: Boolean): Matcher[Boolean]

This method enables the following syntax:

This method enables the following syntax:

result should be (true)
                ^
def apply(o: Null): Matcher[AnyRef]

This method enables the following syntax:

This method enables the following syntax:

result should be (null)
                ^
def apply[T](right: BeMatcher[T]): Matcher[T]

This method enables the following syntax, where num is, for example, of type Int and odd refers to a BeMatcher[Int]:

This method enables the following syntax, where num is, for example, of type Int and odd refers to a BeMatcher[Int]:

num should be (odd)
             ^
def apply[T](bePropertyMatcher: BePropertyMatcher[T]): Matcher[T]

This method enables the following syntax, where open refers to a BePropertyMatcher:

This method enables the following syntax, where open refers to a BePropertyMatcher:

door should be (open)
              ^
def apply(right: Any): Matcher[Any]

This method enables be to be used for equality comparison. Here are some examples:

This method enables be to be used for equality comparison. Here are some examples:

result should be (None)
                ^
result should be (Some(1))
                ^
result should be (true)
                ^
result should be (false)
                ^
sum should be (19)
             ^
def apply(right: SortedWord): MatcherFactory1[Any, Sortable]

This method enables the following syntax, where open refers to a BePropertyMatcher:

This method enables the following syntax, where open refers to a BePropertyMatcher:

List(1, 2, 3) should be (sorted)
                        ^
def apply[A, U <: PartialFunction[A, _]](resultOfDefinedAt: ResultOfDefinedAt[A]): Matcher[U]

This method enables the following syntax, where fraction refers to a PartialFunction:

This method enables the following syntax, where fraction refers to a PartialFunction:

fraction should (be (definedAt (6)) and be (definedAt (8)))
                ^
inline def apply(aType: ResultOfATypeInvocation[_]): Matcher[Any]

This method enables the following syntax, where open refers to a BePropertyMatcher:

This method enables the following syntax, where open refers to a BePropertyMatcher:

result should be (a [Book])
             ^
inline def apply(anType: ResultOfAnTypeInvocation[_]): Matcher[Any]

This method enables the following syntax, where open refers to a BePropertyMatcher:

This method enables the following syntax, where open refers to a BePropertyMatcher:

result should be (an [Book])
             ^
def apply(readable: ReadableWord): MatcherFactory1[Any, Readability]

This method enables the following syntax, where open refers to a BePropertyMatcher:

This method enables the following syntax, where open refers to a BePropertyMatcher:

file should be (readable)
              ^
def apply(writable: WritableWord): MatcherFactory1[Any, Writability]

This method enables the following syntax, where open refers to a BePropertyMatcher:

This method enables the following syntax, where open refers to a BePropertyMatcher:

file should be (writable)
               ^
def apply(empty: EmptyWord): MatcherFactory1[Any, Emptiness]

This method enables syntax such as the following:

This method enables syntax such as the following:

array should be (empty)
               ^
def apply(defined: DefinedWord): MatcherFactory1[Any, Definition]

This method enables syntax such as the following:

This method enables syntax such as the following:

array should be (defined)
               ^
infix def definedAt[A, U <: PartialFunction[A, _]](right: A): Matcher[U]

This method enables the following syntax, where fraction refers to a PartialFunction:

This method enables the following syntax, where fraction refers to a PartialFunction:

fraction should (be definedAt (6) and be definedAt (8))
                   ^
infix def theSameInstanceAs(right: AnyRef): Matcher[AnyRef]

This method enables the following syntax:

This method enables the following syntax:

result should be theSameInstancreAs (anotherObject)
                ^
infix def thrownBy(code: => Unit): ResultOfBeThrownBy

This method enables the following syntax:

This method enables the following syntax:

a[Exception] should (be thrownBy { "hi".charAt(-1) })
                       ^
override def toString: String

Overrides toString to return "be"

Overrides toString to return "be"

Definition Classes
Any

Deprecated methods

@deprecated("The deprecation period for the be === syntax has expired. Please use should equal, should ===, shouldEqual, should be, or shouldBe instead.")
def ===(right: Any)(implicit pos: Position): Matcher[Any]

Note: usually syntax will be removed after its deprecation period. This was left in because otherwise the syntax could in some cases still compile, but silently wouldn't work.

The deprecation period for the "be ===" syntax has expired, and the syntax will now throw NotAllowedException. Please use should equal, should ===, shouldEqual, should be, or shouldBe instead.

Note: usually syntax will be removed after its deprecation period. This was left in because otherwise the syntax could in some cases still compile, but silently wouldn't work.

Deprecated