actual.Should().Satisfy(...) or actual.Satisfy(...)

Aug 17, 2009 at 10:20 PM

Which should be the more simple fluent option ?




The main difference is that, so far, there is only one entry point to test a value and it is 'Should'.

Aug 18, 2009 at 11:01 PM

actual.Should().Satisfy(...) does not add value...

going to actual.Satisfy(...)

Jan 4, 2010 at 7:39 PM

It is probably too late to change now, but I prefer ShouldSatisfy(...). Other than that minor point, I like the lambda approach.

Feb 16, 2010 at 4:08 AM

actual.Should().Satisfy(...) sounds like more natural English. Without the Should in there, I think it should be actual.Satisfies(...).

Feb 16, 2010 at 4:22 AM

Probably you are right but it is too late, the RC1 is out there.

Feb 16, 2010 at 4:24 AM

Try to add an issue to change the name of the method to "Satisfies" and, if some user vote for it we can change it and release a beta or a RC2 instead the final release.

Apr 21, 2010 at 10:17 AM

It should be actual.Should().Satisfy(

This is natural English and tries to keep a consistent entry point into the framework.

Oct 25, 2010 at 9:46 AM

As I commented in the docs for Satisfy, it should really be Satisfies. I can see from the discussion above that the original idea was to have Should.Satisfy(). Grammatically this is consistent with the other assertions. Dropping "Should()" results in an imperative verb instead of simple present tense - i.e. it looks like a command - "Satisfy! Do it!" rather than an assertion of what the thing *does* or should do.


Oct 25, 2010 at 9:47 AM

Sorry Fabio, somehow missed the comment on Feb 16 regarding changing to "Satisfies" - doh!

Oct 25, 2010 at 11:11 AM

yes... this thread is more than one year hold.