No, it is a request for getting a patch, actually On Wed, Aug 12, 2009 at 3:07 AM, Ben M <[email protected]> wrote:
> > oh good, you're going to put it in the next patch, sweet! :-) > > On Aug 11, 5:04 pm, Ayende Rahien <[email protected]> wrote: > > Patch :-) > > > > On Wed, Aug 12, 2009 at 3:01 AM, Ben M <[email protected]> wrote: > > > > > oic. Well would it be worthwhile to consider adding an alternative > > > mode to support this or perhaps the following syntax? > > > > > Expect.Call(publisher.Send(null)).Permit.Once() > > > > > :) > > > > > thx > > > Ben > > > > > On Aug 11, 4:38 pm, Ayende Rahien <[email protected]> wrote: > > > > Ben,Partial work in a very specific way, if a method is not > intercepted, > > > it > > > > is expected that the real object will get it. > > > > As such, Repeat.Once() indicate how often this should be repeated, > not > > > that > > > > only one call is permitted. > > > > > > On Wed, Aug 12, 2009 at 2:12 AM, Ben M <[email protected]> wrote: > > > > > > > yes, but doesnt this sort of defeat the purpose of using > Repeat.Once > > > > > ()? > > > > > > > i mean if i'm using a strict or dynamic mock then i can use > Repeat.Once > > > > > () in this way, why then can i not do this w/ a partial? > > > > > > > On Aug 11, 4:08 pm, Ayende Rahien <[email protected]> wrote: > > > > > > Make a second call: > > > > > > Expect.Call(_publisher.Send(null)) > > > > > > > > > .IgnoreArguments() > > > > > > > .Return(true) > > > > > > > .Repeat.*Never()*; > > > > > > On Wed, Aug 12, 2009 at 2:05 AM, Ben M <[email protected]> > wrote: > > > > > > > > > well, i made a discovery on this. If you only tell it to > repeat > > > once, > > > > > > > then the other calls will subsequently go to the actual real > method > > > as > > > > > > > opposed to the mock version of the method. So I've done a work > > > around > > > > > > > using Expect.Call().Do() and keeping my own count of the number > of > > > > > > > calls, but this is something that in my opinion I should be > able to > > > do > > > > > > > in Rhino mocks. Does anyone know how to do this without having > to > > > do > > > > > > > it myself? Ayende? > > > > > > > > > On Aug 11, 2:48 pm, Ben M <[email protected]> wrote: > > > > > > > > I have a partial mock on a class I'll call 'Publisher' > > > > > > > > > > the publisher has a method called 'Publish' that in turn > calls a > > > > > > > > virtual method called Send as follows: > > > > > > > > > > public class Publisher > > > > > > > > { > > > > > > > > public bool Publish(MyList list) > > > > > > > > { > > > > > > > > string msg = _msgBuilder.BuildFrom(list); > > > > > > > > bool success = Send(msg); > > > > > > > > > > return success; > > > > > > > > } > > > > > > > > > > public virtual bool Send(string msg) > > > > > > > > { > > > > > > > > /// snip > > > > > > > > return true; > > > > > > > > } > > > > > > > > > > } > > > > > > > > > > my unit test then does the following: > > > > > > > > [SetUp] > > > > > > > > public void Setup() > > > > > > > > { > > > > > > > > > > _mocks = new MockRepository(); > > > > > > > > > > _publisher = _mocks.PartialMock<Publisher>(); > > > > > > > > > > } > > > > > > > > > > [Test] > > > > > > > > public void OnlyCallSendOnceForEmptyLists() > > > > > > > > { > > > > > > > > Expect.Call(_publisher.Send(null)) > > > > > > > > .IgnoreArguments() > > > > > > > > .Return(true) > > > > > > > > .Repeat.Once; > > > > > > > > > > _mocks.ReplayAll(); > > > > > > > > > > _publisher.Publish(new MyList()); > > > > > > > > _publisher.Publish(new MyList()); > > > > > > > > > > _mocks.VerifyAll(); > > > > > > > > > > } > > > > > > > > > > I would expect this test to fail as it should be expecting no > > > more > > > > > > > > than 1 call, but the test is passing, and stepping thru the > > > debugger > > > > > I > > > > > > > > can see it IS in fact making 2 calls, yet the test still > passes. > > > > > What > > > > > > > > am I doing wrong that causes this test to give me a false > > > positive? > > > > > > > > > > thanks in advance > > > > > > > > Ben > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
