The problem with creating a new match from the pairing sequence is that it becomes harder to find which match failed.
The best option, in my opinion, is to compare with each match separately like this:
val matchers: Seq[Matcher[Boolean]] = Seq( ((_: Boolean).equals(false), "was true 1"), ((_: Boolean).equals(true), "was false 2"), ((_: Boolean).equals(true), "was false 3") ) "work with matcher sequence" in { matchers.foreach(beMatching => false must beMatching) }
You can see in the output that the responders are called separately, and the first failure causes a test failure with the message of this connector.
Depending on what you have, it may even be better to generate expectations for each match, so it will do them all and show you the correct overview, not just the first glitch. I have not gone so far (yet).
iwein source share