I commited some stuff yesterday in trunk that i would like to be
reviewed.  i am not crazy about all the generatxxx methods.  I really
like the fluent Type marker pattern that is in rhino.testing.

Also why r partials strict mocks?

Adam
Tim Barcz wrote:
> I say we bring forward strict mock....looking for feature parity with
> Record/Replay so it can go away.
>
> Tim
>
> On Mon, Jul 6, 2009 at 9:11 AM, Adam Tybor <[email protected]> wrote:
>
> >
> > Tim how far did you get with this... I am almost done with adding
> > Partials,  MultiMock, and StrictMock.... Do we really need a strict
> > mock anymore?
> >
> > The only major issue I had was with test case for the MultiMock that
> > was choking on the AssertExactlySingleExpectaton because calling the
> > method collectionBase.Clear() actually calls collectionBase.OnClearing
> > () and collectionBase.OnClearCompleted() which are protected virtual
> > and getting caught by the RhinoInterceptor.  There is no easy solution
> > for ensuring that people are only doing a Single Expectation Assertion
> > in foo.AssertWasCalled(...).
> >
> > I went down the rabbit hole of changing Action<T> to
> > Expression<Action<T>> which does not work when trying to assert
> > assignment from a property setter... maybe in .net 4.0 when we get
> > full expression tree support with the DLR will it work??
> >
> > For now the work around in the MultiMock test was to simply call
> > baseCollection.VerifyAllExpectations() which seemed to do the trick.
> >
> > I am just doing a little cleanup at this point, should I commit when I
> > am done or would you guys rather see a patch?
> >
> > Adam
> >
> > On Jun 28, 7:51 pm, Tim Barcz <[email protected]> wrote:
> > > Yep, that's what I've got basically added.  PartialMocks were very easy,
> > I
> > > will get committed to trunk...but I don't have yet is
> > > StrictMultiMocks....those are proving more difficult.
> > >
> > > Tim
> > >
> > >
> > >
> > >
> > >
> > > On Sun, Jun 28, 2009 at 7:27 PM, Kenneth Xu <[email protected]> wrote:
> > >
> > > > Hi Tim,
> > >
> > > > After looking at the source code of Rhino.Mocks. I started using
> > > > PartialMock for AAA in my tests. It is working surprisingly well. See
> > > > the code below.
> > >
> > > > Cheers,
> > > > Kenneth
> > >
> > > >    class Mockery : MockRepository
> > > >    {
> > > >        public static T GeneratePartialMock<T>(params object[]
> > > > argumentsForConstructor)
> > > >            where T : class
> > > >        {
> > > >            var mockery = new MockRepository();
> > > >            var mock = mockery.PartialMock<T>(argumentsForConstructor);
> > > >            mockery.Replay(mock);
> > > >            return mock;
> > > >        }
> > > >    }
> > >
> > > >        [Test] public void
> > > > NewTaskForCallGetsNewTaskFromAbstractExecutorService()
> > > >        {
> > > >            Call<T> call = delegate
> > > >                               {
> > > >                                   return TestData<T>.One;
> > > >                               };
> > >
> > > >            var futureTask =
> > > > Mockery.GeneratePartialMock<FutureTask<T>>(call);
> > >
> > > >            ExpectExecuteCallAndRunTheRunnableInCurrentThread();
> > > >            _executor.Expect(e =>
> > e.NewTaskFor(call)).Return(futureTask);
> > >
> > > >            var f1 = _sut.Submit(call);
> > > >            Assert.That(f1, Is.SameAs(futureTask));
> > > >            var f2 = _sut.Poll();
> > > >            Assert.That(f2, Is.SameAs(futureTask), "submit and take
> > > > must return same objects");
> > > >            futureTask.AssertWasCalled(ft => ft.Done());
> > > >            _executor.VerifyAllExpectations();
> > > >        }
> > >
> > > >        private void ExpectExecuteCallAndRunTheRunnableInCurrentThread()
> > > >        {
> > > >            _executor.Expect(e => e.Execute(Arg<IRunnable>.Is.NotNull))
> > > >                .WhenCalled(r => ((IRunnable)r.Arguments[0]).Run());
> > > >         }
> > >
> > > > On Sat, Jun 27, 2009 at 11:40 AM, Kenneth Xu<[email protected]>
> > wrote:
> > > > > +1. For all the developers with whom I have worked, including myself,
> > > > > it took us a while to get used to record/reply. Then end up with
> > > > > overly interactive test cases that fails whenever the implementation
> > > > > changes. Only a few good ones eventually start to think when to stub
> > > > > and when to mock and what to expect, but it took even longer than the
> > > > > time taken understanding record/replay.
> > >
> > > --
> > > Tim Barcz
> > > ASPInsiderhttp://timbarcz.devlicio.ushttp://www.twitter.com/timbarcz
> > >
> >
>
>
> --
> Tim Barcz
> ASPInsider
> http://timbarcz.devlicio.us
> http://www.twitter.com/timbarcz
--~--~---------~--~----~------------~-------~--~----~
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