final class HavePropertyMatcherGenerator extends AnyRef
This class is part of the ScalaTest matchers DSL. Please see the documentation for Matchers
for an overview of
the matchers DSL.
This class is used as the result of an implicit conversion from class Symbol
, to enable symbols to be
used in have ('author ("Dickens"))
syntax. The name of the implicit conversion method is
convertSymbolToHavePropertyMatcherGenerator
.
Class HavePropertyMatcherGenerator
's primary constructor takes a Symbol
. The
apply
method uses reflection to find and access a property that has the name specified by the
Symbol
passed to the constructor, so it can determine if the property has the expected value
passed to apply
.
If the symbol passed is 'title
, for example, the apply
method
will use reflection to look for a public Java field named
"title", a public method named "title", or a public method named "getTitle".
If a method, it must take no parameters. If multiple candidates are found,
the apply
method will select based on the following algorithm:
Field | Method | "get" Method | Result |
---|---|---|---|
Throws TestFailedException , because no candidates found | |||
getTitle() | Invokes getTitle() | ||
title() | Invokes title() | ||
title() | getTitle() | Invokes title() (this can occur when BeanProperty annotation is used) | |
title | Accesses field title | ||
title | getTitle() | Invokes getTitle() | |
title | title() | Invokes title() | |
title | title() | getTitle() | Invokes title() (this can occur when BeanProperty annotation is used) |
- Source
- Matchers.scala
- Alphabetic
- By Inheritance
- HavePropertyMatcherGenerator
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new HavePropertyMatcherGenerator(symbol: Symbol, prettifer: Prettifier, pos: Position)
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
- def apply(expectedValue: Any): HavePropertyMatcher[AnyRef, Any]
This method enables the following syntax:
This method enables the following syntax:
book must have ('title ("A Tale of Two Cities")) ^
This class has an
apply
method that will produce aHavePropertyMatcher[AnyRef, Any]
. The implicit conversion method,convertSymbolToHavePropertyMatcherGenerator
, will cause the above line of code to be eventually transformed into:book must have (convertSymbolToHavePropertyMatcherGenerator('title).apply("A Tale of Two Cities"))
- 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()