title: Concise way to assert a value matches a given pattern in ScalaTest
body: <p>Is there a nice way to check that a pattern match succeeds in ScalaTest? An option is given in <a href="https://groups.google.com/forum/#!msg/scalatest-users/4MemQiqLzao/_DsBTQWaqfwJ">scalatest-users</a> mailing list:</p>
  
  <pre><code>&lt;value&gt; match {
    case &lt;pattern&gt; =&gt;
    case obj =&gt; fail("Did not match: " + obj)
  }
  </code></pre>
  
  <p>However, it doesn't compose (e.g. if I want to assert that exactly 2 elements of a list match the pattern using Inspectors API). I could write a matcher taking a partial function literal and succeeding if it's defined (it would have to be a macro if I wanted to get the pattern in the message as well). Is there a better alternative?</p>