This repository was archived by the owner on Oct 9, 2019. It is now read-only.
This repository was archived by the owner on Oct 9, 2019. It is now read-only.
Add Expect.any
to complement Expect.all
#228
Open
Description
I had a need for the following function, which passes iff at least one expectation in the list passes. I think this should be added as Expect.any
to parallel List.any
/List.all
.
expectAny : List (subject -> Expectation) -> subject -> Expectation
expectAny expectations subject =
case expectations of
[] ->
Expect.fail "expectAny: all expectations failed (TODO: show failure reasons)"
next :: rest ->
case Test.Runner.getFailureReason (next subject) of
Nothing ->
Expect.pass
Just _ ->
expectAny rest subject
Before adding, this would need to refactor to have a private helper function that would build up the list of failure reasons to display if all the expectations failed.