trait MatcherProducers extends AnyRef
Provides an implicit conversion on functions that produce Matchers, i.e.,
T => Matcher[T] that enables you to modify error messages when composing Matchers.
For an example of using MatcherProducers, see the Composing matchers
section in the main documentation for trait Matcher.
- Source
- MatcherProducers.scala
- Alphabetic
- By Inheritance
- MatcherProducers
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
-    class Composifier[T] extends AnyRefClass used via an implicit conversion that adds composeTwice,mapResult, andmapArgsmethods to functions that produce aMatcher.
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
 
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
 
-   implicit  def convertToComposifier[T](f: (T) => Matcher[T]): Composifier[T]Implicit conversion that converts a function of T => Matcher[T]to an object that hascomposeTwice,mapResultandmapArgsmethods.Implicit conversion that converts a function of T => Matcher[T]to an object that hascomposeTwice,mapResultandmapArgsmethods.The following shows how this trait is used to compose twice and modify error messages: import org.scalatest._ import matchers._ import MatcherProducers._ 
 val f = be > (_: Int) val g = (_: String).toInt
 // f composeTwice g means: (f compose g) andThen (_ compose g) val beAsIntsGreaterThan = f composeTwice g mapResult { mr => mr.copy( failureMessageArgs = mr.failureMessageArgs.map((LazyArg(_) { "\"" + _.toString + "\".toInt"})), negatedFailureMessageArgs = mr.negatedFailureMessageArgs.map((LazyArg(_) { "\"" + _.toString + "\".toInt"})), midSentenceFailureMessageArgs = mr.midSentenceFailureMessageArgs.map((LazyArg(_) { "\"" + _.toString + "\".toInt"})), midSentenceNegatedFailureMessageArgs = mr.midSentenceNegatedFailureMessageArgs.map((LazyArg(_) { "\"" + _.toString + "\".toInt"})) ) }
 "7" should beAsIntsGreaterThan ("8")The last assertion will fail with message like this: "7".toInt was not greater than "8".toInt - T
- the type used by function - f
- f
- a function that takes a - Tand return a- Matcher[T]
- returns
- an object that has - composeTwice,- mapResultand- mapArgsmethods.
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
-   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() @HotSpotIntrinsicCandidate()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   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()
 
-   final  def wait(): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
Deprecated Value Members
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated