Create a second test object. There doesn't appear to be a need to have the two operations performed on the same object.
Can I ask why you need a way around? It seems your testing too much in your test. Your friction with Rhino should be a good clue that your test design may be flawed. On 5/7/09, Brian J <[email protected]> wrote: > > I've run into an issue in the AssertWasCalled when there are multiple > calls using the same object. Basically I'm doing some processing on a > class and during the processing I want to make sure that I hit certain > checkpoints in my unit tests. I do this by setting the status and > saving it. I then continue the processing until the next checkpoint. > > Here's a sample of what I mean: > > [TestClass] > public class Class1 { > > [TestMethod] > public void MethodName() { > ITestInterface ti = MockRepository.GenerateStub<ITestInterface> > (); > > // Load the class that is being processed > TestClass test = new TestClass(); > > // Update the status to indicate processing has begun > test.Status = "processing"; > ti.Update(test); > > // Work gets done here ... > > // Update the status to indicate processing is complete > test.Status = "processed"; > ti.Update(test); > > // These are the assertions that are failing. > ti.AssertWasCalled(a => a.Update(Arg<TestClass>.Matches(b => > b.Status == "processing"))); > ti.AssertWasCalled(a => a.Update(Arg<TestClass>.Matches(b => > b.Status == "processed"))); > } > } > > public interface ITestInterface { > void Update(TestClass param); > } > > public class TestClass { > public string Status { get; set; } > } > > It looks like what's happening is that rhino mocks is only saving a > reference of the parameters for each method call to Update. When I > update the Status for the second call, it's also updating the object > that rhino mocks saved in the first call. This makes the first > AssertWasCalled fail because it thinks there were no call with the > string "processing" and the second assert fail because it thinks there > were too many calls for "processed". > > Does anyone know a way around this? > > Thanks, > Brian > > > > -- Sent from my mobile device --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
