thanks, must have confused myself with the overload. On Mon, Nov 28, 2011 at 10:22 AM, Patrick Steele <[email protected]>wrote:
> If that signature you just posted is the real signature, then your > problem is that the method is not virtual. > > --- > Patrick Steele > http://weblogs.asp.net/psteele > > > > On Mon, Nov 28, 2011 at 10:06 AM, Steven Solomon > <[email protected]> wrote: > > im sorry i posted the wrong signature for RenderToHtml; i am moving away > > from the other one > > > > public string RenderToHtml(List<Result> results) > > { > > return ""; > > } > > > > Im having trouble forming an expectation that this is called with an > empty > > list of result. does the expect.call() check that args are the same type? > > > > On Mon, Nov 28, 2011 at 9:51 AM, Patrick Steele < > [email protected]> > > wrote: > >> > >> Oh, sorry. I missed that part. Odd... I actually surprised that > >> code even compiles since your RenderToHTML method doesn't accept a > >> List<Result>. > >> > >> Can you post a complete, failing test case? > >> > >> --- > >> Patrick Steele > >> http://weblogs.asp.net/psteele > >> > >> > >> > >> On Mon, Nov 28, 2011 at 9:43 AM, Steven Solomon > >> <[email protected]> wrote: > >> > The strange thing is this expectation never even fails. It actually > >> > passes > >> > but the RenderToHtml method is never called. > >> > > >> > On Mon, Nov 28, 2011 at 9:13 AM, Patrick Steele > >> > <[email protected]> > >> > wrote: > >> >> > >> >> My guess is that you have an expectation defined as: > >> >> > >> >> mockRenderer.Expect(x => > >> >> x.RenderToHtml(Arg<List<Result>>.Matches(y => > >> >> y.Equals(new List<Result>()) > >> >> )) > >> >> ); > >> >> > >> >> That expectation has it's own List<Result> (a new one). Then, when > >> >> your manager does its work, it creates its own List<Result> > >> >> internally. It will be a different List<Result> than what was > defined > >> >> in your expectation so that's probably why it's failing. > >> >> > >> >> If you're expecting an empty list, there's a couple of different > >> >> things you could do: > >> >> > >> >> 1. Use WhenCalled() on your stub object and do an Assert.Fail if the > >> >> List<Result> passed to the method doesn't have a count of zero. > >> >> 2. Use GetArgumentsForCallsMadeOn() after running the test to pull > the > >> >> argument (the List<Result>) that was sent to your stub and see if it > >> >> has a count of zero. > >> >> > >> >> --- > >> >> Patrick Steele > >> >> http://weblogs.asp.net/psteele > >> >> > >> >> > >> >> > >> >> On Mon, Nov 28, 2011 at 9:05 AM, Steven Solomon > >> >> <[email protected]> wrote: > >> >> > public class Request > >> >> > { > >> >> > public virtual string ExecuteRequest() { ... } > >> >> > } > >> >> > > >> >> > public class Translator > >> >> > { > >> >> > public virtual List<Result> Translate(String xml) { ... } > >> >> > } > >> >> > > >> >> > // NOTE: this is the class where the expectation is ignored > >> >> > public class Renderer > >> >> > { > >> >> > public virtual string RenderToHtml() { ... } > >> >> > } > >> >> > > >> >> > On Fri, Nov 25, 2011 at 9:19 AM, Patrick Steele > >> >> > <[email protected]> > >> >> > wrote: > >> >> >> > >> >> >> Can you also show the signatures of the various methods you're > >> >> >> mocking? > >> >> >> > >> >> >> --- > >> >> >> Patrick Steele > >> >> >> http://weblogs.asp.net/psteele > >> >> >> > >> >> >> > >> >> >> > >> >> >> On Wed, Nov 23, 2011 at 12:25 PM, Steven Solomon > >> >> >> <[email protected]> wrote: > >> >> >> > Hi all, > >> >> >> > > >> >> >> > I am trying to test that a manager class with call its > >> >> >> > collaborators > >> >> >> > when i call GetRecommendations on it > >> >> >> > however the mockRender expectation is ignored? I am trying to > test > >> >> >> > that the renderer will be called > >> >> >> > with an empty list of results. Any insight into this is greatly > >> >> >> > appreciated. > >> >> >> > > >> >> >> > var mocks = new MockRepository(); > >> >> >> > > >> >> >> > var mockRequest = mocks.StrictMock<Request>("somequery"); > >> >> >> > var mockTranslator = mocks.StrictMock<Translator>(); > >> >> >> > var mockRenderer = mocks.StrictMock<Renderer>(); > >> >> >> > > >> >> >> > Expect.Call(mockRequest.ExecuteRequest()).Return("xml"); > >> >> >> > Expect.Call(mockTranslator.Translate("xml")); > >> >> >> > // we are expecting an empty list of results > >> >> >> > mockRenderer.Expect(x => > >> >> >> > x.RenderToHtml(Arg<List<Result>>.Matches(y => > >> >> >> > y.Equals(new List<Result>()) > >> >> >> > )) > >> >> >> > ); > >> >> >> > > >> >> >> > mocks.ReplayAll(); > >> >> >> > > >> >> >> > // SUT > >> >> >> > Manager manager = new Manager(mockRequest, mockTranslator, > >> >> >> > mockRenderer); > >> >> >> > manager.GetRecommendations(); > >> >> >> > > >> >> >> > mocks.VerifyAll(); > >> >> >> > > >> >> >> > -- > >> >> >> > 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. > >> >> >> > >> >> > > >> >> > -- > >> >> > 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. > >> >> > >> > > >> > -- > >> > 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. > >> > > > > -- > > 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. > > -- 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.
