org.scalatest.matchers.Matchers

# HavePropertyMatcherGenerator

#### class HavePropertyMatcherGenerator extends AnyRef

This class is part of the ScalaTest matchers DSL. Please see the documentation for `ShouldMatchers` or `MustMatchers` 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)

Attributes
  final

Linear Supertypes
AnyRef, Any
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. Hide All
2. Show all

1. HavePropertyMatcherGenerator
2. AnyRef
3. Any

Visibility

1. Public
2. All

### Instance Constructors

1. #### new HavePropertyMatcherGenerator (symbol: Symbol)

### 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 apply (expectedValue: Any): HavePropertyMatcher[AnyRef, Any]

   This method enables the following syntax:

   This method enables the following syntax:

       book should have ('title ("A Tale of Two Cities"))
                                ^

   This class has an `apply` method that will produce a `HavePropertyMatcher[AnyRef, Any]`. The implicit conversion method, `convertSymbolToHavePropertyMatcherGenerator`, will cause the above line of code to be eventually transformed into:

       book should have (convertSymbolToHavePropertyMatcherGenerator('title).apply("A Tale of Two Cities"))

7. #### def asInstanceOf [T0] : T0

   Attributes
     final
   Definition Classes
     Any

8. #### def clone (): AnyRef

   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws()

9. #### def eq (arg0: AnyRef): Boolean

   Attributes
     final
   Definition Classes
     AnyRef

10. #### def equals (arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

11. #### def finalize (): Unit

    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws()

12. #### def getClass (): java.lang.Class[_]

    Attributes
      final
    Definition Classes
      AnyRef

13. #### def hashCode (): Int

    Definition Classes
      AnyRef → Any

14. #### def isInstanceOf [T0] : Boolean

    Attributes
      final
    Definition Classes
      Any

15. #### def ne (arg0: AnyRef): Boolean

    Attributes
      final
    Definition Classes
      AnyRef

16. #### def notify (): Unit

    Attributes
      final
    Definition Classes
      AnyRef

17. #### def notifyAll (): Unit

    Attributes
      final
    Definition Classes
      AnyRef

18. #### def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
      final
    Definition Classes
      AnyRef

19. #### def toString (): String

    Definition Classes
      AnyRef → Any

20. #### def wait (): Unit

    Attributes
      final
    Definition Classes
      AnyRef
    Annotations
      @throws()

21. #### def wait (arg0: Long, arg1: Int): Unit

    Attributes
      final
    Definition Classes
      AnyRef
    Annotations
      @throws()

22. #### def wait (arg0: Long): Unit

    Attributes
      final
    Definition Classes
      AnyRef
    Annotations
      @throws()

### Inherited from AnyRef

### Inherited from Any