(new[] {4, 2, 5}).Satisfy(x => x.Any(a => a < 3));
"Any" mean "at least one" so using the satisfier is enough to understand the sentence.
(new[] {4, 2, 5}).All(x => x.Satisfy(a => a > 3));
Using this syntax for "All", you will have the exact element which not satisfies the assertion.
In this case the failure message is:
2 Should Satisfy (a => a > 3)
Compared values was: 2 > 3.
To work with exact number of members:
(new[] {4, 2, 5}).Satisfy(x => x.Count(a=> a < 3) == 7);
In this case the failure message is:
[4, 2, 5] Should Satisfy (x => x.Count(a => a < 3) == 7)
Compared values was: 1 == 7.
