RE: How do I unit test a Dispose method ?

Amir Kolsky <[email protected]> Mon, 3 Feb 2014 07:36:41 +0000
Newsgroups gmane.comp.programming.test-driven-development
Message-ID <[email protected]>
If A cares about this specific property it would require B to implement IDisposable.
From A's perspective, it is given an object of type B to perform a specific action. B would be available to A through an interface, not an implementation. Hence A would not know that (say) B1 is the implementation of B, but rather know about B alone


From: [email protected] [mailto:[email protected]] On Behalf Of David Burstin
Sent: Sunday, February 2, 2014 9:40 PM
To: [email protected]
Subject: Re: [TDD] How do I unit test a Dispose method ?


Amir, I feel like I might be missing your point.

Why is it unreasonable for A to know that B uses expensive resources and provides a way to release them early? Surely this was one of the considerations when choosing B over X or Y or Z. IMHO it's a characteristic, not an implementation detail.

On 3 February 2014 15:19, Amir Kolsky <[email protected]<mailto:[email protected]>> wrote:


Except that B must already be IDisposable. The IDisposable pattern requires that any object that owns an IDisposable must itself implement IDisposable.


*  This is inane, as it requires the owning object to know about implementation details of it's ownee.
I disagree. All that A needs to know is that B implements the IDisposable interface.

  * A has to know about something pertaining to B that has nothing to do with why A needs it.