org.scalatest.verb

# ShouldVerb

#### trait ShouldVerb extends AnyRef

Provides an implicit conversion that adds `should` methods to `String` to support the syntax of `FlatSpec`, `WordSpec`, `FixtureFlatSpec`, and `FixtureWordSpec`.

For example, this trait enables syntax such as the following test registration in `FlatSpec` and `FixtureFlatSpec`:

    "A Stack (when empty)" should "be empty" in { ... }
                           ^

It also enables syntax such as the following shared test registration in `FlatSpec` and `FixtureFlatSpec`:

    "A Stack (with one item)" should behave like nonEmptyStack(stackWithOneItem, lastValuePushed)
                              ^

In addition, it supports the registration of subject descriptions in `WordSpec` and `FixtureWordSpec`, such as:

    "A Stack (when empty)" should { ...
                           ^

And finally, it also supportds the registration of subject descriptions with after words in `WordSpec` and `FixtureWordSpec`. For example:

    def provide = afterWord("provide")

    "The ScalaTest Matchers DSL" should provide {
                                 ^

The reason this implicit conversion is provided in a separate trait, instead of being provided directly in `FlatSpec`, `WordSpec`, `FixtureFlatSpec`, and `FixtureWordSpec`, is because an implicit conversion provided directly would conflict with the implicit conversion that provides `should` methods on `String` in the `ShouldMatchers` trait. By contrast, there is no conflict with the separate `ShouldVerb` trait approach, because:

- `FlatSpec`, `WordSpec`, `FixtureFlatSpec`, and `FixtureWordSpec` mix in `ShouldVerb` directly, and
- `ShouldMatchers` extends `ShouldVerb`, overriding the `convertToStringShouldWrapper` implicit conversion function.

So whether or not a `FlatSpec`, `WordSpec`, `FixtureFlatSpec`, or `FixtureWordSpec` mixes in `ShouldMatchers`, there will only be one implicit conversion in scope that adds `should` methods to `String`s.

Also, because the class of the result of the overriding `convertToStringShouldWrapper` implicit conversion method provided in `ShouldMatchers` extends this trait's `StringShouldWrapperForVerb` class, the four uses of `should` provided here are still available. These four `should` are in fact available to any class that mixes in `ShouldMatchers`, but each takes an implicit parameter that is provided only in `FlatSpec` and `FixtureFlatSpec`, or `WordSpec` and `FixtureWordSpec`.

Linear Supertypes
AnyRef, Any
Known Subclasses
FixtureFlatSpec, FixtureWordSpec, FlatSpec, MultipleFixtureFlatSpec, MultipleFixtureWordSpec, ShouldMatchers, ShouldMatchers, ShouldMatchersForJUnit, ShouldMatchersForJUnit, WordSpec
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. Hide All
2. Show all

1. ShouldVerb
2. AnyRef
3. Any

Visibility

1. Public
2. All

### Type Members

1. #### class StringShouldWrapperForVerb extends AnyRef

   This class supports the syntax of `FlatSpec`, `WordSpec`, `FixtureFlatSpec`, and `FixtureWordSpec`.

### 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 clone (): AnyRef

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

8. #### implicit def convertToStringShouldWrapper (o: String): StringShouldWrapperForVerb

   Implicitly converts an object of type `String` to a `StringShouldWrapperForVerb`, to enable `should` methods to be invokable on that object.

   Implicitly converts an object of type `String` to a `StringShouldWrapperForVerb`, to enable `should` methods to be invokable on that object.

   Attributes
     implicit

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