Open JasonBock opened 1 year ago
Definitely considering doing this now.
Since RockRepository
was deleted with 8.0.0, it may make sense to revisit this and see if it makes sense. I know when I tried it recently, there were test cases that ended up being a little awkward by doing this, but....worth another shot.
Note: I would put XML docs on Verify()
that people should stop calling it, and move to handling the expectations objects as a disposable one. Eventually, I'd obsolete it, but not for the moment. Maybe have to put some defensiveness in both Verify()
and Dispose()
to not do it twice.
One idea is that Dispose()
would only be concerned about any potential clean-up, like for SAMIs. It would not do the Verify()
call for you, unless you haven't done it yet.
I just make
RockRepository
implementIDisposable
"better", in that onceDispose()
is called, you can't call members on it again without gettingObjectDisposedException
.I'm starting to wonder if
Expectations<T>
should do the same thing. In other words, makeDispose()
do whatVerify()
does, enforce dispose semantics, and then removeVerify()
.This would be a pretty big change, because I'm removing a member that used all over the place. But....it feels like this might be a better design. Definitely need to think this one through.