def mkPropEqMatcher[T,V](name:String, extr: T => V)(expVal : V): HavePropertyMatcher[T,V] =
new HavePropertyMatcher[T, V] {
def apply(t: T): HavePropertyMatchResult[V] =
HavePropertyMatchResult(
extr(t) == expVal,
name,
expVal,
extr(t)
)
}
val title = mkPropEqMatcher("title", (_ : Book).title) _
val author = mkPropEqMatcher("author", (_ : Book).author) _
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter