Czy istnieje dobry sposób sprawdzenia, czy dopasowanie wzorca jest skuteczne w programie ScalaTest? Opcja jest podany w liście scalatest-users korespondencji:Zwięzły sposób potwierdzenia wartości odpowiada danemu schematowi w ScalaTest
<value> match {
case <pattern> =>
case obj => fail("Did not match: " + obj)
}
Jednak nie komponować (np jeśli chcę twierdzić, że dokładnie 2 elementy listy pasuje do wzorca za pomocą inspektorów API). Mógłbym napisać matcher, który wykonałby literał funkcji częściowej i odniósłby sukces, gdyby został zdefiniowany (musiałby to być makro, jeśli chciałbym uzyskać wzór również w wiadomości). Czy istnieje lepsza alternatywa?
Właściwie uważam, że jest gorszy od rozwiązania w pytaniu: niepowodzenie daje mniej użyteczną wiadomość. –
To dobra uwaga. Ulepszyłem swoją odpowiedź, aby rozwiązać ten problem, ale to rozwiązanie może nie spełnić celu "zwięzłości". –