I am but it is getting the structure into the state where I can test the sign 
off process.
 
If I split it up into smaller tests then I still have to go through the same 
routine for each smaller test which will take more [EMAIL PROTECTED]



> Date: Fri, 4 Jan 2008 10:49:15 -0500> From: [EMAIL PROTECTED]> Subject: Re: 
> [ADVANCED-DOTNET] Unwiedly unit test> To: 
> ADVANCED-DOTNET@DISCUSS.DEVELOP.COM> > Looks to me like you're doing much 
> more than testing the sign off process.> > On Fri, 4 Jan 2008 15:50:57 +0000, 
> Paul Cowan <[EMAIL PROTECTED]> wrote:> > >Hi all,> >> >I am just looking for 
> some guidance.> >> >I have the following monstrous unit test (see below) 
> where I seem to be> testing bout 10 different tests in the same unit test.> 
> >> >The problem is that it is a work flow type of situation and I need the> 
> data to be in a certain state before I finally test the bit of> functionality 
> (planController.AttemptSignOff;.> >> >If I split it up into different tests 
> then I am retesting everything each> time and duplicating code. This is even 
> the case if I start using helper> methods.> >> >The guidelines say that unit 
> tests should only test one thing and one> thing only.> >> >I simply cannot 
> see how I can break this up.> >> >Any words of advice from the more 
> knowledgeable out there?> >> >[Test]> >public void Sign_off_Process()> >{> > 
> Plan plan = null;> > PlanController planController = GetPlanController();> > 
> _mockRepository.ReplayAll();> > try> > {> > plan = 
> SavePlanAsSystemAdmin(planController);> > Guid planUid = plan.Uid;> > 
> planController.AddSignOffContact(plan, GetFirstItem<Contact>());> > 
> _mockRepository.BackToRecord(_mockEmailSender);> > 
> _mockEmailSender.Send(null, null, null, null, null);> > 
> LastCall.IgnoreArguments();> > _mockRepository.ReplayAll();> > 
> planController.RequestSignOff(plan, "testurl");> > 
> _mockRepository.VerifyAll();> > plan = planController.LoadPlan(planUid);> > 
> SignOffContact signOffContact = plan.SignOffList[0];> > 
> Assert.IsTrue(plan.ReadOnly);> > Assert.AreEqual(plan.MajorVersion, 
> signOffContact.VerMajor);> > Assert.AreEqual(plan.MinorVersion, 
> signOffContact.VerMinor);> > Assert.AreEqual(false, 
> plan.SignOffOperators[0].SetUp);> > Assert.AreEqual(1, 
> signOffContact.Requested);> > Guid signOffOperatorUid = 
> plan.SignOffOperators[0].Uid;> > SignOffOperator signOffOperator => 
> planController.GetSignOffOperator(signOffOperatorUid);> > Assert.AreEqual(1, 
> signOffOperator.Plans.Count);> > plan = signOffOperator.Plans[0];> > 
> Assert.IsNotNull(plan);> > Assert.IsFalse(signOffOperator.SetUp);> > string 
> validLogIn = "1234";> > string invalidLogIn = "12345";> > signOffOperator.Pin 
> = "ABCD";> > Assert.IsFalse(planController.IsValid(signOffOperator));> > 
> signOffOperator.Pin = validLogIn;> > 
> Assert.IsTrue(planController.IsValid(signOffOperator));> > 
> planController.SetUpSignOffOperator(signOffOperator);> > signOffOperator = 
> planController.GetSignOffOperator> (signOffOperatorUid);> > 
> Assert.IsTrue(signOffOperator.SetUp);> > 
> Assert.IsFalse(planController.LogInSignOffOperatorWithPin> 
> (signOffOperatorUid, invalidLogIn));> > 
> Assert.IsTrue(planController.LogInSignOffOperatorWithPin> (signOffOperator, 
> validLogIn));> > Assert.AreEqual(1, planController.SignOffOperatorsPlanList> 
> (signOffOperatorUid).Count);> > 
> _mockRepository.BackToRecord(_mockEmailSender);> > 
> _mockEmailSender.Send(null, null, null, null, null);> > 
> LastCall.IgnoreArguments();> > _mockRepository.ReplayAll();> > 
> planController.AttemptSignOff(signOffOperatorUid);> > 
> _mockRepository.VerifyAll();> > }> > catch (Exception ex)> > {> > 
> _log.Error(ex);> > Assert.Fail(ex.Message);> > }> > finally> > {> > if ((plan 
> != null) && (!plan.IsNew))> > planController.DeletePlan(plan.Uid);> > }> >}> 
> > [EMAIL PROTECTED]> 
> >_________________________________________________________________> >Who's 
> friends with who and co-starred in what?> 
> >http://www.searchgamesbox.com/celebrityseparation.shtml> 
> >===================================> >This list is hosted by DevelopMentorĀ® 
> http://www.develop.com> >> >View archives and manage your subscription(s) at> 
> http://discuss.develop.com> > ===================================> This list 
> is hosted by DevelopMentorĀ® http://www.develop.com> > View archives and 
> manage your subscription(s) at http://discuss.develop.com
_________________________________________________________________
Fancy some celeb spotting? 
https://www.celebmashup.com
===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to