You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While doing something like stuffDoer.Calculate().Returns(42).AndCalls(x => blah()); works, it is would make a lot more sense to be able to do something like stuffDoer.Calculate(something).Do(x => { }).Returns(42); instead
Take the below example
var items = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var a = items.Where(x => x % 2 == 0).Skip(3).ToArray();
var b = items.Skip(3).Where(x => x % 2 == 0).ToArray();
Because execution is from left to right a=[8, 10], and b=[4, 6, 8, 10]
We are used to reading (and even expecting) statements to work from left to right. Someone new to NSubstitute (like myself) could find this confusing, and would not expect the trailing Do to run before the Returns
The text was updated successfully, but these errors were encountered:
Agree it reads better, but the trade-off is that we're adding yet another extension method on object (bloats intellisense/autocomplete). We could potentially have in NSubstitute.Extensions so people could opt-in 🤔 .
Another option is to use the existing .Returns overload with a call back to "do and return".
Agree it reads better, but the trade-off is that we're adding yet another extension method on object (bloats intellisense/autocomplete). We could potentially have in NSubstitute.Extensions so people could opt-in 🤔 .
Maybe the NSubstitute.Extensions option is the way to go
Another option is to use the existing .Returns overload with a call back to "do and return".
Referencing issue #98...
While doing something like
stuffDoer.Calculate().Returns(42).AndCalls(x => blah());
works, it is would make a lot more sense to be able to do something likestuffDoer.Calculate(something).Do(x => { }).Returns(42);
insteadTake the below example
Because execution is from left to right a=[8, 10], and b=[4, 6, 8, 10]
We are used to reading (and even expecting) statements to work from left to right. Someone new to NSubstitute (like myself) could find this confusing, and would not expect the trailing Do to run before the Returns
The text was updated successfully, but these errors were encountered: