Here's what I meant:
public interface IDependency
{
void Method1();
void Method2();
void End();
}
[TestClass()]
public class Test
{
[TestMethod()]
public void EndIsLastMethodCalled()
{
var dependency = MockRepository.GenerateMock<IDependency>();
dependency.Stub(x => x.End()).WhenCalled(a =>
{
dependency.VerifyAllExpectations();
});
dependency.Method1();
dependency.End();
}
[TestMethod()]
[ExpectedException(typeof(InvalidOperationException))]
public void EndIsNotLastMethodCalledThrows()
{
var dependency = MockRepository.GenerateMock<IDependency>();
dependency.Stub(x => x.End()).WhenCalled(a =>
{
dependency.VerifyAllExpectations();
});
dependency.Method1();
dependency.End();
dependency.Method2();
}
}
On 6 October 2010 14:06, k0v1d pa9d3y <[email protected]> wrote:
> Let me eloborate more on my question:
> I have to use dynamic mock and I need to make sure that Prop1, Prop2 is
> getting modified ; but once End() method gets called modification to prop1,
> prop2 should not be happened...
>
> Start()
> DoSomeProcess1()
> DoSomeProcess2()
> DoSomeProcess1()
> Prop1 = value;
> Prop2 = value;
> Prop1 = value;
> Prop2 = value;
> End(),
>
>
> On Wed, Oct 6, 2010 at 6:22 PM, k0v1d pa9d3y <[email protected]>wrote:
>
>> Thanks Alex for replying, but I want use Dynamic mock not stub , can you
>> eloborate your way of doing using WhenCalled(), I did not get it..
>>
>>
>> On Wed, Oct 6, 2010 at 5:08 PM, Alex McMahon <[email protected]> wrote:
>>
>>> I don't know if there's a better way, but I think the following should
>>> work:
>>>
>>> Setup a Stub for End() with a WhenCalled() that does something that means
>>> any further calls on the mock will fail. I should think calling
>>> mockObject.VerifyAllExpectations() should probably work... although you'd
>>> need to verify this.
>>>
>>> On 6 October 2010 12:22, k0v1d pa9d3y <[email protected]> wrote:
>>>
>>>> How do i make sure that after the particular method called up no
>>>> other method/ property setter should be called on the same object.
>>>>
>>>> Let say I have a method which has three methods,
>>>>
>>>> Start()
>>>> DoSomeProcess1()
>>>> DoSomeProcess2()
>>>> DoSomeProcess1()
>>>> //Some property settings...
>>>> .....
>>>> End(),
>>>>
>>>> I want to make sure that End() should always be executed at last, no
>>>> other method should be executed once End gets executed?
>>>>
>>>> How can I achieve this using Rhinomock();
>>>>
>>>> Thanks in advance!
>>>>
>>>> --
>>>> 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%[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]<rhinomocks%[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]<rhinomocks%[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.