As an exercise, try making the method name articulate what you are testing.
Use underscore for space. Don't be afraid to use longish sentence
On Jun 6, 2011 12:32 PM, "Tristan Reeves" <[email protected]> wrote:
> 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.
>>