nevermind, turns out the problem was that i'm an idiot and was
explicitly setting the the resutls twice.

Thanks

On Oct 6, 4:12 pm, Ryan Vice <[EMAIL PROTECTED]> wrote:
> Shouldn't this accomplish that?
>
>       [SetUp]
>       public void Setup()
>       {
>          _mockRepository = new MockRepository();
>          _sourceGroup = _mockRepository.DynamicMock<ISourceGroup>();
>          _sourcePoint = _mockRepository.DynamicMock<ISourcePoint>();
>          _dynamiteShooterSm =
>
> _mockRepository.PartialMock<DynamiteShooterStateMachineTestHarness>
>                                           (_sourceGroup,
> _sourcePoint);
>       }
>
> Do I need to call dispose or something?
>
> On Oct 6, 3:59 pm, "Ayende Rahien" <[EMAIL PROTECTED]> wrote:
>
>
>
> > Create new mock repository ( and mock objects) for each test.
>
> > On Mon, Oct 6, 2008 at 11:42 PM, Ryan Vice <[EMAIL PROTECTED]> wrote:
>
> > > Hi,
>
> > > Below are two of my tests and then a utility method they use. If I
> > > don't call BackToRecordAll() before I call my SetupResults() function
> > > it will throw an error so I do a partially redundant call to
> > > BackToRecordAll() to reset all the expectations\results. I'd assume
> > > that the easy answer is to making my code less ugly would be to
> > > elminate using (_mockRepository.Record()) but i like the way the using
> > > block shows explicitly what is being mocked to newbies. Any other
> > > suggestions on how to make this look cleaner?
>
> > > --------------------------------
> > > Test code
> > > --------------------------------
>
> > >      [Test]
> > >      public void DecoderDisabled_UnableToShoot()
> > >      {
> > >         bool sourceGroupEnabled = false;
> > >         bool sourceGroupEnabledWithDecoder = false;
>
> > >         _mockRepository.BackToRecordAll();
> > >         using (_mockRepository.Record())
> > >         {
> > >            SetupResults(sourceGroupEnabled,
> > > sourceGroupEnabledWithDecoder);
> > >         }
>
> > >         using (_mockRepository.Playback())
> > >         {
> > >            _dynamiteShooterSm.Init();
> > >         }
>
> > >         AssertThatCurrentStateIs(_dynamiteShooterSm.qUnableToShoot);
> > >      }
>
> > >      [Test]
> > >      public void SourceGroupEnabledWithoutDecoder_UnableToShoot()
> > >      {
> > >         _mockRepository.BackToRecordAll();
> > >         using (_mockRepository.Record())
> > >         {
> > >            SetupResults(true, false);
> > >            SetupResult.For(_sourceGroup.Enabled).Return(false);
> > >         }
>
> > >         using (_mockRepository.Playback())
> > >         {
> > >            _dynamiteShooterSm.Init();
> > >         }
> > >         AssertThatCurrentStateIs(_dynamiteShooterSm.qUnableToShoot);
> > >      }
>
> > > --------------------------------
> > > Setup code
> > > --------------------------------
>
> > >      /// <summary>
> > >      /// Method should be called from within a record block and
> > >      /// will setup results for standard things needed during testing
> > >      /// </summary>
> > >      /// <param name="sourceGroupEnabled">The value returned by
> > >      /// DynamiteShooterStateMachine.SourceGroup.Enabled</param>
> > >      /// <param name="sourceGroupEnabledWithDecoders">The value
> > > returned by
> > >      /// DynamiteShooterStateMachine.SourceGroup.EnabledWithDecoders</
> > > param>
> > >      protected void SetupResults(bool sourceGroupEnabled,
> > >                                 bool sourceGroupEnabledWithDecoders)
> > >      {
> > >         SetupResults("TestSourceGroup", sourceGroupEnabled,
> > >            sourceGroupEnabledWithDecoders);
> > >      }
>
> > >      /// <summary>
> > >      /// Method should be called from within a record block and
> > >      /// will setup results for standard things needed during testing
> > >      /// </summary>
> > >      /// <param name="sourceGroupName">The value returned by
> > >      /// DynamiteShooterStateMachine.SourceGroup.Name which
> > >      /// will be used to make the name of the thread
> > >      /// that the test executes on amoung other things</param>
> > >      /// <param name="sourceGroupEnabled">The value returned by
> > >      /// DynamiteShooterStateMachine.SourceGroup.Enabled</param>
> > >      /// <param name="sourceGroupEnabledWithDecoders">The value
> > > returned by
> > >      /// DynamiteShooterStateMachine.SourceGroup.EnabledWithDecoders</
> > > param>
> > >      protected void SetupResults(string sourceGroupName, bool
> > > sourceGroupEnabled,
> > >                                 bool sourceGroupEnabledWithDecoders)
> > >      {
> > >         if (sourceGroupEnabled == false &&
> > > sourceGroupEnabledWithDecoders == true)
> > >            throw new InvalidOperationException("Error:
> > > sourceGroupEnabled can't be false"
> > >               + " if sourceGroupEnabledWithDecoders is true");
>
> > >         SetupResult.For(_sourceGroup.Name).Return(sourceGroupName);
>
> > > SetupResult.For(_sourceGroup.Enabled).Return(sourceGroupEnabled);
> > >         SetupResult.For(_sourceGroup.EnabledWithDecoders)
> > >            .Return(sourceGroupEnabledWithDecoders);
> > >      }- Hide quoted text -
>
> > - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino.Mocks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/RhinoMocks?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to