ClassForUseInheritsBaseClass On Mon, Jun 6, 2011 at 6:22 AM, Heinrich Breedt <[email protected]>wrote:
> Just wondering, what is the name of the test? > On Jun 5, 2011 5:06 PM, "Tristan Reeves" <[email protected]> wrote: > > Hi list, > > I'll describe the situation in as little detail as possible. > > > > There's some code in which a class BaseClass, and a class ClassForUse : > > BaseClass are defined. > > > > BaseClass is used in a unit test that calls its constructor with mocks. > > ClassForUse is used in production with a 0-param constructor which calls > the > > base constructor with hard-coded arguments. > > > > Forgetting (for now) any issues with all this (and to me there are > plenty), > > we then find the following unit test: > > > > [Setup] > > var _instance = new ClassForUse(); > > > > [Test] > > Assert.That(_instance is BaseClass); > > > > ...to me this is totally insane. But I seem unable to articulate exactly > the > > nature of the insanity. > > > > A little further on we have (pseudocode) > > [Test] > > Assert _instance._MemberOne is of type A > > Assert _instance._MemberTwo is of type B > > Assert _instance._MemberThree is of type C > > > > where the members are (if not for the tests) private members set by the > > 0-param constructor which pushed them into the base constructor. (all > hard > > coded). > > > > So...is this really insane, or is it I who am crazy?? It's made more > > perplexing to me because the author of this code says it's all a natural > > result of TDD. And I am far from a TDD expert. > > > > I would love some feedback about this Modus Operandi. esp. any refs. It > > seems obviously wrong, and yet I am unable to come up with any definitive > > argument. > > > > Thanks, > > Tristan. >
