I would love to... However can you provide a test for me to comment on. Tim
Sent from my iPhone On Dec 21, 2009, at 5:04 PM, Kam <[email protected]> wrote: > I found a situation where I had to use x.Stub() rather than x.Expect > (). > > I do not know the reasons why. Maybe someone with more knowledge of > the Rhino MOcks engine could explain. > > I found that when I used: > > x.Expect(x => x.SomeProperty).Return(myProperty); > > Reference to x.SomeProperty would only return myProperty within the > same unit. The moment I tried to push this stub into a class > constructor for another class, it returned NULL to that class. > > I struggled with this, until I found x.Stub(). > > I replaced the line above for: > > x.Stub(x => x.SomeProperty).Return(myProperty); > > Please be aware that x.SomeProperty is a readonly property which is > why I needed to declare it this way. > > > If anyone could shed light on why this is necessary I would be > interested. > > Thanks. > > On Dec 7, 7:32 pm, Fabien Arcellier <[email protected]> > wrote: >> To conclude, if I write some codes as examples, do you think that is >> preferable to use Expect<> in place of Stub<> ? >> >> On Dec 7, 7:29 pm, Fabien Arcellier <[email protected]> >> wrote: >> >> >> >>> Thanks all for your answer. >> >>> Finally I looked in the source code to verify the behavior of Stub<> >>> method : >>> I found this implementation : >> >>> /// <summary> >>> /// Tell the mock object to perform a certain >>> action when a matching >>> /// method is called. >>> /// Does not create an expectation for this method. >>> /// </summary> >>> /// <typeparam name="T"></typeparam> >>> /// <typeparam name="R"></typeparam> >>> /// <param name="mock">The mock.</param> >>> /// <param name="action">The action.</param> >>> /// <returns></returns> >>> public static IMethodOptions<R> Stub<T, R>(this T >>> mock, Function<T, R> action) >>> where T : class >>> { >>> return Expect(mock, action).Repeat.Times >>> (0, int.MaxValue); >>> } >> >>> It seems the Stub<> method does a direct call to Expect method with >>> repeat option. >> >>> According to method commentary, this method doesn't create an >>> expectation. >>> In fact, we create it. >> >>> I don't understand the interest of Stub<> method ... It shouldn't >>> declared as deprecated ? >> >>> Regards, >>> Fabien Arcellier >> >>> On Dec 7, 5:45 pm, Tim Barcz <[email protected]> wrote: >> >>>> Stubs can do expectations and I've stumbled on this many times as >>>> have >>>> others...there are numerous threads about this and I believe this >>>> was not >>>> the original intended behavior but rather an evolution over >>>> time. That >>>> said, there has been significant discussion about moving away >>>> from the >>>> notion of "mocks" and "stubs" in RhinoMocks 4.0 to something a >>>> bit mroe >>>> clear. >> >>>> On Mon, Dec 7, 2009 at 10:05 AM, bill richards >>>> <[email protected] >> >>>>> wrote: >>>>> I just modified the second test slightly, and it appears to >>>>> indicate >>>>> that the Expectation was in fact realised. >> >>>>> [Test] >>>>> public void >>>>> WhenUsingExpect_ShouldPassVerifyAllExpectations() >>>>> { >>>>> var child = MockRepository.GenerateStub<ITestChild>(); >>>>> child.Expect(c => c.SetParent >>>>> (Arg<ITestItem>.Is.Anything)); >> >>>>> var item = new TestItem(child); >> >>>>> child.VerifyAllExpectations(); >>>>> child.AssertWasCalled(c => c.SetParent(item)); >>>>> } >> >>>>> -- >> >>>>> 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]<rhinomocks >>>>> %2bunsubscr...@googlegrou ps.com> >>>>> . >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/rhinomocks?hl=en. >> >>>> -- >>>> Tim Barcz >>>> Microsoft C# MVP >>>> Microsoft ASPInsiderhttp://timbarcz.devlicio.ushttp:// >>>> 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 > . > > -- 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.
