[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Simone Busoli
Mocks have to be reset on each test, so that you're not interacting with
other tests. Always set them up in the test setup, not in the fixture setup.

On Sat, Jan 10, 2009 at 9:58 PM, Paul Cowan  wrote:

> I think think the problem is that the method is called 3 times from the
> same test fixture instance on the same stub instance.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~--~~~~--~~--~--~---



[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Paul Cowan
Spot on.

Thanks for that.

2009/1/10 Simone Busoli 

> I expect that if you say that your code under test is fine you expect it to
> be called 1,2 and 3 times respectively. Here's how I'd set the test up:
>
> in the test setup:
>
> _processorClient  = MockRepository.GenerateMock();
>
> in the test
>
> _processorClient.Expect(p =>
> p.Start(Arg.Is.Anything)).Repeat(resendAttempts + 1)
>
> ...test your code...
>
> _processorClient.VerifyAllExpectations();
>
> On Sat, Jan 10, 2009 at 9:51 PM, Simone Busoli wrote:
>
>> When the test with resendAttempts = 1 is run, how many times do you expect
>> Start to be called?
>>
>>
>> On Sat, Jan 10, 2009 at 9:48 PM, Paul Cowan  wrote:
>>
>>> It is definitely being called, I've stepped through the code.
>>>
>>> The TestCase attributes effectively create 3 different tests that are
>>> called from the same test fixture instance.
>>>
>>> For [TestCase(0)] the tests pass.
>>>
>>> When [TestCase(1)] runs, I get the following exception:
>>>
>>> ExpectationViolationException :
>>> IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
>>> #2.
>>>
>>> When [TestCase(2)] runs, I get the following exception:
>>>
>>> ExpectationViolationException :
>>> IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
>>> #3.
>>> It is almost like I need to clear the expectations after each
>>> parameterised run.
>>>
>>> I'll look up the Rhino.Mocks wiki.
>>>
>>>
>>>   2009/1/10 Simone Busoli 
>>>
 Well then the code under test is broken, it means that your
 processorClient.Start method is not called. There's nothing else in your
 test that could make it fail, since in the assertion  you're ignoring the
 arguments. BTW, that is not the best way to ignore the arguments. Look
 it up in the RhinoMocks wiki.


 On Sat, Jan 10, 2009 at 8:55 PM, Paul Cowan  wrote:

> I did'nt show the paste in the whole method.  Just enough to really ask
> the question.
>
> The whole method now looks like this:
>
> [
> TestCase(0)]
> [TestCase(1)]
> [TestCase(2)]
> public void 
> Then_the_message_should_only_send_sms_messages(intresendAttempts)
> {
>   string messageResendJSON = null;
>
>   if (resendAttempts > 0)
>   {
>   messageResendJSON = (new List{new
> MessageResend(_message, MessageType.SMSMessage,
>   resendAttempts)}).ToJSON();
>   }
>
>
> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
> MESSAGE_TEXT,
> MessageType.SMSMessage, messageResendJSON);
>
> _processorClient.AssertWasCalled(x => x.Start(null
> ), opt => opt.IgnoreArguments());
> }
>
> The initial error I described still exists after the first paramter has
> been passed into the test.
>
>
>
>   2009/1/10 Simone Busoli 
>
>> You're welcome. Anyways, I think the point of your question was
>> another one. As far as I can see you're not using the input parameters of
>> the test, what are they for?
>>
>> On Sat, Jan 10, 2009 at 8:35 PM, Paul Cowan wrote:
>>
>>> You are correct.
>>>
>>> It seems my knowledge of stubs is wrong.
>>>
>>> I thought I would have to stub out the method to ensure that it was
>>> called.
>>>
>>> Cheers for pointing that out,
>>>
>>>   2009/1/10 Simone Busoli 
>>>
 No, it's not. What is the first call to stub for? It doesn't set any
 expectation and doesn't return any value, so I think you could remove 
 it.


 On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan wrote:

>  >> I don't understand your test. In particular, the first call to
> Stub what is supposed to do? It is doing nothing.
>
> It gets called deep inside the
> _incidentManagementController.InitialiseBlanketMessage method.
>
> _processorClient is a dependency of the
> _incidentManagementController.  The dependency is set int the [SetUp].
>
> Any clearer?
>
> 2009/1/10 Simone Busoli 
>
> and don't understand what you're doing with the test arguments,
>> where do you use them?
>>
>>
>> On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli <
>> simone.bus...@gmail.com> wrote:
>>
>>> I don't understand your test. In particular, the first call to
>>> Stub what is supposed to do? It is doing nothing.
>>>
>>>
>>> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan 
>>> wrote:
>>>
 Hi,

 I am trying to run the following tests using the new
 paramaterised features of NUnit 2.5

 Here is my test:

 [
 TestCase(false, 0)]
 [TestCase(true, 1)]
 [TestCase(tr

[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Paul Cowan
>> how many times do you expect Start to be called?

Once and it is called once.

I think think the problem is that the method is called 3 times from the same
test fixture instance on the same stub instance.


2009/1/10 Simone Busoli 

> When the test with resendAttempts = 1 is run, how many times do you expect
> Start to be called?
>
>
> On Sat, Jan 10, 2009 at 9:48 PM, Paul Cowan  wrote:
>
>> It is definitely being called, I've stepped through the code.
>>
>> The TestCase attributes effectively create 3 different tests that are
>> called from the same test fixture instance.
>>
>> For [TestCase(0)] the tests pass.
>>
>> When [TestCase(1)] runs, I get the following exception:
>>
>> ExpectationViolationException :
>> IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
>> #2.
>>
>> When [TestCase(2)] runs, I get the following exception:
>>
>> ExpectationViolationException :
>> IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
>> #3.
>> It is almost like I need to clear the expectations after each
>> parameterised run.
>>
>> I'll look up the Rhino.Mocks wiki.
>>
>>
>>   2009/1/10 Simone Busoli 
>>
>>> Well then the code under test is broken, it means that your
>>> processorClient.Start method is not called. There's nothing else in your
>>> test that could make it fail, since in the assertion  you're ignoring the
>>> arguments. BTW, that is not the best way to ignore the arguments. Look
>>> it up in the RhinoMocks wiki.
>>>
>>>
>>> On Sat, Jan 10, 2009 at 8:55 PM, Paul Cowan  wrote:
>>>
 I did'nt show the paste in the whole method.  Just enough to really ask
 the question.

 The whole method now looks like this:

 [
 TestCase(0)]
 [TestCase(1)]
 [TestCase(2)]
 public void 
 Then_the_message_should_only_send_sms_messages(intresendAttempts)
 {
   string messageResendJSON = null;

   if (resendAttempts > 0)
   {
   messageResendJSON = (new List{new
 MessageResend(_message, MessageType.SMSMessage,
   resendAttempts)}).ToJSON();
   }


 _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
 MESSAGE_TEXT,
 MessageType.SMSMessage, messageResendJSON);

 _processorClient.AssertWasCalled(x => x.Start(null
 ), opt => opt.IgnoreArguments());
 }

 The initial error I described still exists after the first paramter has
 been passed into the test.



   2009/1/10 Simone Busoli 

> You're welcome. Anyways, I think the point of your question was another
> one. As far as I can see you're not using the input parameters of the 
> test,
> what are they for?
>
> On Sat, Jan 10, 2009 at 8:35 PM, Paul Cowan wrote:
>
>> You are correct.
>>
>> It seems my knowledge of stubs is wrong.
>>
>> I thought I would have to stub out the method to ensure that it was
>> called.
>>
>> Cheers for pointing that out,
>>
>>   2009/1/10 Simone Busoli 
>>
>>> No, it's not. What is the first call to stub for? It doesn't set any
>>> expectation and doesn't return any value, so I think you could remove 
>>> it.
>>>
>>>
>>> On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan wrote:
>>>
  >> I don't understand your test. In particular, the first call to
 Stub what is supposed to do? It is doing nothing.

 It gets called deep inside the
 _incidentManagementController.InitialiseBlanketMessage method.

 _processorClient is a dependency of the
 _incidentManagementController.  The dependency is set int the [SetUp].

 Any clearer?

 2009/1/10 Simone Busoli 

 and don't understand what you're doing with the test arguments,
> where do you use them?
>
>
> On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli <
> simone.bus...@gmail.com> wrote:
>
>> I don't understand your test. In particular, the first call to
>> Stub what is supposed to do? It is doing nothing.
>>
>>
>> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan 
>> wrote:
>>
>>> Hi,
>>>
>>> I am trying to run the following tests using the new
>>> paramaterised features of NUnit 2.5
>>>
>>> Here is my test:
>>>
>>> [
>>> TestCase(false, 0)]
>>> [TestCase(true, 1)]
>>> [TestCase(true, 2)]
>>> public void 
>>> Then_the_message_should_only_send_sms_messages(boolresend,
>>> int resendAttempts)
>>> {
>>> _processorClient.Stub(x => x.Start(null)).IgnoreArguments();
>>>
>>>
>>> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
>>> MESSAGE_TEXT);
>>>
>>> _processorClient.AssertWasCa

[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Simone Busoli
I expect that if you say that your code under test is fine you expect it to
be called 1,2 and 3 times respectively.Here's how I'd set the test up:

in the test setup:

_processorClient  = MockRepository.GenerateMock();

in the test

_processorClient.Expect(p =>
p.Start(Arg.Is.Anything)).Repeat(resendAttempts + 1)

...test your code...

_processorClient.VerifyAllExpectations();

On Sat, Jan 10, 2009 at 9:51 PM, Simone Busoli wrote:

> When the test with resendAttempts = 1 is run, how many times do you expect
> Start to be called?
>
>
> On Sat, Jan 10, 2009 at 9:48 PM, Paul Cowan  wrote:
>
>> It is definitely being called, I've stepped through the code.
>>
>> The TestCase attributes effectively create 3 different tests that are
>> called from the same test fixture instance.
>>
>> For [TestCase(0)] the tests pass.
>>
>> When [TestCase(1)] runs, I get the following exception:
>>
>> ExpectationViolationException :
>> IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
>> #2.
>>
>> When [TestCase(2)] runs, I get the following exception:
>>
>> ExpectationViolationException :
>> IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
>> #3.
>> It is almost like I need to clear the expectations after each
>> parameterised run.
>>
>> I'll look up the Rhino.Mocks wiki.
>>
>>
>> 2009/1/10 Simone Busoli 
>>
>>> Well then the code under test is broken, it means that your
>>> processorClient.Start method is not called. There's nothing else in your
>>> test that could make it fail, since in the assertion  you're ignoring the
>>> arguments. BTW, that is not the best way to ignore the arguments. Look
>>> it up in the RhinoMocks wiki.
>>>
>>>
>>> On Sat, Jan 10, 2009 at 8:55 PM, Paul Cowan  wrote:
>>>
 I did'nt show the paste in the whole method.  Just enough to really ask
 the question.

 The whole method now looks like this:

 [
 TestCase(0)]
 [TestCase(1)]
 [TestCase(2)]
 public void 
 Then_the_message_should_only_send_sms_messages(intresendAttempts)
 {
   string messageResendJSON = null;

   if (resendAttempts > 0)
   {
   messageResendJSON = (new List{new
 MessageResend(_message, MessageType.SMSMessage,
   resendAttempts)}).ToJSON();
   }


 _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
 MESSAGE_TEXT,
 MessageType.SMSMessage, messageResendJSON);

 _processorClient.AssertWasCalled(x => x.Start(null
 ), opt => opt.IgnoreArguments());
 }

 The initial error I described still exists after the first paramter has
 been passed into the test.



   2009/1/10 Simone Busoli 

> You're welcome. Anyways, I think the point of your question was another
> one. As far as I can see you're not using the input parameters of the 
> test,
> what are they for?
>
> On Sat, Jan 10, 2009 at 8:35 PM, Paul Cowan wrote:
>
>> You are correct.
>>
>> It seems my knowledge of stubs is wrong.
>>
>> I thought I would have to stub out the method to ensure that it was
>> called.
>>
>> Cheers for pointing that out,
>>
>>   2009/1/10 Simone Busoli 
>>
>>> No, it's not. What is the first call to stub for? It doesn't set any
>>> expectation and doesn't return any value, so I think you could remove 
>>> it.
>>>
>>>
>>> On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan wrote:
>>>
  >> I don't understand your test. In particular, the first call to
 Stub what is supposed to do? It is doing nothing.

 It gets called deep inside the
 _incidentManagementController.InitialiseBlanketMessage method.

 _processorClient is a dependency of the
 _incidentManagementController.  The dependency is set int the [SetUp].

 Any clearer?

 2009/1/10 Simone Busoli 

 and don't understand what you're doing with the test arguments,
> where do you use them?
>
>
> On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli <
> simone.bus...@gmail.com> wrote:
>
>> I don't understand your test. In particular, the first call to
>> Stub what is supposed to do? It is doing nothing.
>>
>>
>> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan 
>> wrote:
>>
>>> Hi,
>>>
>>> I am trying to run the following tests using the new
>>> paramaterised features of NUnit 2.5
>>>
>>> Here is my test:
>>>
>>> [
>>> TestCase(false, 0)]
>>> [TestCase(true, 1)]
>>> [TestCase(true, 2)]
>>> public void 
>>> Then_the_message_should_only_send_sms_messages(boolresend,
>>> int resendAttempts)
>>> {
>>> _processorClient.Stub(x => x.Start(null)).IgnoreArgu

[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Simone Busoli
When the test with resendAttempts = 1 is run, how many times do you expect
Start to be called?

On Sat, Jan 10, 2009 at 9:48 PM, Paul Cowan  wrote:

> It is definitely being called, I've stepped through the code.
>
> The TestCase attributes effectively create 3 different tests that are
> called from the same test fixture instance.
>
> For [TestCase(0)] the tests pass.
>
> When [TestCase(1)] runs, I get the following exception:
>
> ExpectationViolationException :
> IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
> #2.
>
> When [TestCase(2)] runs, I get the following exception:
>
> ExpectationViolationException :
> IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
> #3.
> It is almost like I need to clear the expectations after each parameterised
> run.
>
> I'll look up the Rhino.Mocks wiki.
>
>
> 2009/1/10 Simone Busoli 
>
>> Well then the code under test is broken, it means that your
>> processorClient.Start method is not called. There's nothing else in your
>> test that could make it fail, since in the assertion  you're ignoring the
>> arguments. BTW, that is not the best way to ignore the arguments. Look it
>> up in the RhinoMocks wiki.
>>
>>
>> On Sat, Jan 10, 2009 at 8:55 PM, Paul Cowan  wrote:
>>
>>> I did'nt show the paste in the whole method.  Just enough to really ask
>>> the question.
>>>
>>> The whole method now looks like this:
>>>
>>> [
>>> TestCase(0)]
>>> [TestCase(1)]
>>> [TestCase(2)]
>>> public void 
>>> Then_the_message_should_only_send_sms_messages(intresendAttempts)
>>> {
>>>   string messageResendJSON = null;
>>>
>>>   if (resendAttempts > 0)
>>>   {
>>>   messageResendJSON = (new List{new 
>>> MessageResend(_message,
>>> MessageType.SMSMessage,
>>>   resendAttempts)}).ToJSON();
>>>   }
>>>
>>> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
>>> MESSAGE_TEXT,
>>> MessageType.SMSMessage, messageResendJSON);
>>>
>>> _processorClient.AssertWasCalled(x => x.Start(null
>>> ), opt => opt.IgnoreArguments());
>>> }
>>>
>>> The initial error I described still exists after the first paramter has
>>> been passed into the test.
>>>
>>>
>>>
>>>   2009/1/10 Simone Busoli 
>>>
 You're welcome. Anyways, I think the point of your question was another
 one. As far as I can see you're not using the input parameters of the test,
 what are they for?

 On Sat, Jan 10, 2009 at 8:35 PM, Paul Cowan  wrote:

> You are correct.
>
> It seems my knowledge of stubs is wrong.
>
> I thought I would have to stub out the method to ensure that it was
> called.
>
> Cheers for pointing that out,
>
>   2009/1/10 Simone Busoli 
>
>> No, it's not. What is the first call to stub for? It doesn't set any
>> expectation and doesn't return any value, so I think you could remove it.
>>
>>
>> On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan wrote:
>>
>>>  >> I don't understand your test. In particular, the first call to
>>> Stub what is supposed to do? It is doing nothing.
>>>
>>> It gets called deep inside the
>>> _incidentManagementController.InitialiseBlanketMessage method.
>>>
>>> _processorClient is a dependency of the
>>> _incidentManagementController.  The dependency is set int the [SetUp].
>>>
>>> Any clearer?
>>>
>>> 2009/1/10 Simone Busoli 
>>>
>>> and don't understand what you're doing with the test arguments, where
 do you use them?


 On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli <
 simone.bus...@gmail.com> wrote:

> I don't understand your test. In particular, the first call to Stub
> what is supposed to do? It is doing nothing.
>
>
> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan wrote:
>
>> Hi,
>>
>> I am trying to run the following tests using the new paramaterised
>> features of NUnit 2.5
>>
>> Here is my test:
>>
>> [
>> TestCase(false, 0)]
>> [TestCase(true, 1)]
>> [TestCase(true, 2)]
>> public void 
>> Then_the_message_should_only_send_sms_messages(boolresend,
>> int resendAttempts)
>> {
>> _processorClient.Stub(x => x.Start(null)).IgnoreArguments();
>>
>>
>> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
>> MESSAGE_TEXT);
>>
>> _processorClient.AssertWasCalled(x => x.Start(null), opt =>
>> opt.IgnoreArguments());
>> }
>>
>> The test passes the first time but for the following 2 test cases,
>> I get ExpectedViolation exceptions:
>>
>> Expected #1, Actual #3.
>> Expected #1, Actual #2.
>>
>> Can anyone see what I am doing wrong?  I've tried placing Repeat
>> on the stub but ge

[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Paul Cowan
It is definitely being called, I've stepped through the code.

The TestCase attributes effectively create 3 different tests that are called
from the same test fixture instance.

For [TestCase(0)] the tests pass.

When [TestCase(1)] runs, I get the following exception:

ExpectationViolationException :
IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
#2.

When [TestCase(2)] runs, I get the following exception:

ExpectationViolationException :
IIncidentManagementMessageProcessorClient.Start(any); Expected #1, Actual
#3.
It is almost like I need to clear the expectations after each parameterised
run.

I'll look up the Rhino.Mocks wiki.


2009/1/10 Simone Busoli 

> Well then the code under test is broken, it means that your
> processorClient.Start method is not called. There's nothing else in your
> test that could make it fail, since in the assertion  you're ignoring the
> arguments. BTW, that is not the best way to ignore the arguments. Look it
> up in the RhinoMocks wiki.
>
>
> On Sat, Jan 10, 2009 at 8:55 PM, Paul Cowan  wrote:
>
>> I did'nt show the paste in the whole method.  Just enough to really ask
>> the question.
>>
>> The whole method now looks like this:
>>
>> [
>> TestCase(0)]
>> [TestCase(1)]
>> [TestCase(2)]
>> public void Then_the_message_should_only_send_sms_messages(intresendAttempts)
>> {
>>   string messageResendJSON = null;
>>
>>   if (resendAttempts > 0)
>>   {
>>   messageResendJSON = (new List{new 
>> MessageResend(_message,
>> MessageType.SMSMessage,
>>   resendAttempts)}).ToJSON();
>>   }
>>
>> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
>> MESSAGE_TEXT,
>> MessageType.SMSMessage, messageResendJSON);
>>
>> _processorClient.AssertWasCalled(x => x.Start(null
>> ), opt => opt.IgnoreArguments());
>> }
>>
>> The initial error I described still exists after the first paramter has
>> been passed into the test.
>>
>>
>>
>>   2009/1/10 Simone Busoli 
>>
>>> You're welcome. Anyways, I think the point of your question was another
>>> one. As far as I can see you're not using the input parameters of the test,
>>> what are they for?
>>>
>>> On Sat, Jan 10, 2009 at 8:35 PM, Paul Cowan  wrote:
>>>
 You are correct.

 It seems my knowledge of stubs is wrong.

 I thought I would have to stub out the method to ensure that it was
 called.

 Cheers for pointing that out,

   2009/1/10 Simone Busoli 

> No, it's not. What is the first call to stub for? It doesn't set any
> expectation and doesn't return any value, so I think you could remove it.
>
>
> On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan wrote:
>
>>  >> I don't understand your test. In particular, the first call to
>> Stub what is supposed to do? It is doing nothing.
>>
>> It gets called deep inside the
>> _incidentManagementController.InitialiseBlanketMessage method.
>>
>> _processorClient is a dependency of the
>> _incidentManagementController.  The dependency is set int the [SetUp].
>>
>> Any clearer?
>>
>> 2009/1/10 Simone Busoli 
>>
>> and don't understand what you're doing with the test arguments, where
>>> do you use them?
>>>
>>>
>>> On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli <
>>> simone.bus...@gmail.com> wrote:
>>>
 I don't understand your test. In particular, the first call to Stub
 what is supposed to do? It is doing nothing.


 On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan wrote:

> Hi,
>
> I am trying to run the following tests using the new paramaterised
> features of NUnit 2.5
>
> Here is my test:
>
> [
> TestCase(false, 0)]
> [TestCase(true, 1)]
> [TestCase(true, 2)]
> public void Then_the_message_should_only_send_sms_messages(boolresend,
> int resendAttempts)
> {
> _processorClient.Stub(x => x.Start(null)).IgnoreArguments();
>
>
> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
> MESSAGE_TEXT);
>
> _processorClient.AssertWasCalled(x => x.Start(null), opt =>
> opt.IgnoreArguments());
> }
>
> The test passes the first time but for the following 2 test cases,
> I get ExpectedViolation exceptions:
>
> Expected #1, Actual #3.
> Expected #1, Actual #2.
>
> Can anyone see what I am doing wrong?  I've tried placing Repeat on
> the stub but get the same error.
>
> Cheers
>
> Paul
>
>
>
>
>
>

>>>
>>>
>>>
>>
>>
>>
>
>
>



>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
You received this message because

[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Simone Busoli
Well then the code under test is broken, it means that your
processorClient.Start method is not called. There's nothing else in your
test that could make it fail, since in the assertion  you're ignoring the
arguments.BTW, that is not the best way to ignore the arguments. Look it up
in the RhinoMocks wiki.

On Sat, Jan 10, 2009 at 8:55 PM, Paul Cowan  wrote:

> I did'nt show the paste in the whole method.  Just enough to really ask the
> question.
>
> The whole method now looks like this:
>
> [
> TestCase(0)]
> [TestCase(1)]
> [TestCase(2)]
> public void Then_the_message_should_only_send_sms_messages(intresendAttempts)
> {
>   string messageResendJSON = null;
>
>   if (resendAttempts > 0)
>   {
>   messageResendJSON = (new List{new 
> MessageResend(_message,
> MessageType.SMSMessage,
>   resendAttempts)}).ToJSON();
>   }
>
> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
> MESSAGE_TEXT,
> MessageType.SMSMessage, messageResendJSON);
>
> _processorClient.AssertWasCalled(x => x.Start(null
> ), opt => opt.IgnoreArguments());
> }
>
> The initial error I described still exists after the first paramter has
> been passed into the test.
>
>
>
> 2009/1/10 Simone Busoli 
>
>> You're welcome. Anyways, I think the point of your question was another
>> one. As far as I can see you're not using the input parameters of the test,
>> what are they for?
>>
>> On Sat, Jan 10, 2009 at 8:35 PM, Paul Cowan  wrote:
>>
>>> You are correct.
>>>
>>> It seems my knowledge of stubs is wrong.
>>>
>>> I thought I would have to stub out the method to ensure that it was
>>> called.
>>>
>>> Cheers for pointing that out,
>>>
>>>   2009/1/10 Simone Busoli 
>>>
 No, it's not. What is the first call to stub for? It doesn't set any
 expectation and doesn't return any value, so I think you could remove it.


 On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan  wrote:

>  >> I don't understand your test. In particular, the first call to
> Stub what is supposed to do? It is doing nothing.
>
> It gets called deep inside the
> _incidentManagementController.InitialiseBlanketMessage method.
>
> _processorClient is a dependency of the _incidentManagementController.
> The dependency is set int the [SetUp].
>
> Any clearer?
>
> 2009/1/10 Simone Busoli 
>
> and don't understand what you're doing with the test arguments, where
>> do you use them?
>>
>>
>> On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli <
>> simone.bus...@gmail.com> wrote:
>>
>>> I don't understand your test. In particular, the first call to Stub
>>> what is supposed to do? It is doing nothing.
>>>
>>>
>>> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan wrote:
>>>
 Hi,

 I am trying to run the following tests using the new paramaterised
 features of NUnit 2.5

 Here is my test:

 [
 TestCase(false, 0)]
 [TestCase(true, 1)]
 [TestCase(true, 2)]
 public void Then_the_message_should_only_send_sms_messages(boolresend,
 int resendAttempts)
 {
 _processorClient.Stub(x => x.Start(null)).IgnoreArguments();


 _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
 MESSAGE_TEXT);

 _processorClient.AssertWasCalled(x => x.Start(null), opt =>
 opt.IgnoreArguments());
 }

 The test passes the first time but for the following 2 test cases, I
 get ExpectedViolation exceptions:

 Expected #1, Actual #3.
 Expected #1, Actual #2.

 Can anyone see what I am doing wrong?  I've tried placing Repeat on
 the stub but get the same error.

 Cheers

 Paul






>>>
>>
>>
>>
>
>
>



>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~--~~~~--~~--~--~---



[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Paul Cowan
I did'nt show the paste in the whole method.  Just enough to really ask the
question.

The whole method now looks like this:

[TestCase(0)]
[TestCase(1)]
[TestCase(2)]
public void Then_the_message_should_only_send_sms_messages(intresendAttempts)
{
  string messageResendJSON = null;

  if (resendAttempts > 0)
  {
  messageResendJSON = (new List{new
MessageResend(_message,
MessageType.SMSMessage,
  resendAttempts)}).ToJSON();
  }

_incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
MESSAGE_TEXT,
MessageType.SMSMessage, messageResendJSON);

_processorClient.AssertWasCalled(x => x.Start(null), opt =>
opt.IgnoreArguments());
}

The initial error I described still exists after the first paramter has been
passed into the test.



2009/1/10 Simone Busoli 

> You're welcome. Anyways, I think the point of your question was another
> one. As far as I can see you're not using the input parameters of the test,
> what are they for?
>
> On Sat, Jan 10, 2009 at 8:35 PM, Paul Cowan  wrote:
>
>> You are correct.
>>
>> It seems my knowledge of stubs is wrong.
>>
>> I thought I would have to stub out the method to ensure that it was
>> called.
>>
>> Cheers for pointing that out,
>>
>>   2009/1/10 Simone Busoli 
>>
>>> No, it's not. What is the first call to stub for? It doesn't set any
>>> expectation and doesn't return any value, so I think you could remove it.
>>>
>>>
>>> On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan  wrote:
>>>
  >> I don't understand your test. In particular, the first call to Stub
 what is supposed to do? It is doing nothing.

 It gets called deep inside the
 _incidentManagementController.InitialiseBlanketMessage method.

 _processorClient is a dependency of the _incidentManagementController.
 The dependency is set int the [SetUp].

 Any clearer?

 2009/1/10 Simone Busoli 

 and don't understand what you're doing with the test arguments, where do
> you use them?
>
>
> On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli <
> simone.bus...@gmail.com> wrote:
>
>> I don't understand your test. In particular, the first call to Stub
>> what is supposed to do? It is doing nothing.
>>
>>
>> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan wrote:
>>
>>> Hi,
>>>
>>> I am trying to run the following tests using the new paramaterised
>>> features of NUnit 2.5
>>>
>>> Here is my test:
>>>
>>> [
>>> TestCase(false, 0)]
>>> [TestCase(true, 1)]
>>> [TestCase(true, 2)]
>>> public void Then_the_message_should_only_send_sms_messages(boolresend,
>>> int resendAttempts)
>>> {
>>> _processorClient.Stub(x => x.Start(null)).IgnoreArguments();
>>>
>>>
>>> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
>>> MESSAGE_TEXT);
>>>
>>> _processorClient.AssertWasCalled(x => x.Start(null), opt =>
>>> opt.IgnoreArguments());
>>> }
>>>
>>> The test passes the first time but for the following 2 test cases, I
>>> get ExpectedViolation exceptions:
>>>
>>> Expected #1, Actual #3.
>>> Expected #1, Actual #2.
>>>
>>> Can anyone see what I am doing wrong?  I've tried placing Repeat on
>>> the stub but get the same error.
>>>
>>> Cheers
>>>
>>> Paul
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
>
>



>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~--~~~~--~~--~--~---



[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Simone Busoli
You're welcome. Anyways, I think the point of your question was another one.
As far as I can see you're not using the input parameters of the test, what
are they for?

On Sat, Jan 10, 2009 at 8:35 PM, Paul Cowan  wrote:

> You are correct.
>
> It seems my knowledge of stubs is wrong.
>
> I thought I would have to stub out the method to ensure that it was called.
>
> Cheers for pointing that out,
>
> 2009/1/10 Simone Busoli 
>
>> No, it's not. What is the first call to stub for? It doesn't set any
>> expectation and doesn't return any value, so I think you could remove it.
>>
>>
>> On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan  wrote:
>>
>>>  >> I don't understand your test. In particular, the first call to Stub
>>> what is supposed to do? It is doing nothing.
>>>
>>> It gets called deep inside the
>>> _incidentManagementController.InitialiseBlanketMessage method.
>>>
>>> _processorClient is a dependency of the _incidentManagementController.
>>> The dependency is set int the [SetUp].
>>>
>>> Any clearer?
>>>
>>> 2009/1/10 Simone Busoli 
>>>
>>> and don't understand what you're doing with the test arguments, where do
 you use them?


 On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli >>> > wrote:

> I don't understand your test. In particular, the first call to Stub
> what is supposed to do? It is doing nothing.
>
>
> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan wrote:
>
>> Hi,
>>
>> I am trying to run the following tests using the new paramaterised
>> features of NUnit 2.5
>>
>> Here is my test:
>>
>> [
>> TestCase(false, 0)]
>> [TestCase(true, 1)]
>> [TestCase(true, 2)]
>> public void Then_the_message_should_only_send_sms_messages(boolresend,
>> int resendAttempts)
>> {
>> _processorClient.Stub(x => x.Start(null)).IgnoreArguments();
>>
>>
>> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
>> MESSAGE_TEXT);
>>
>> _processorClient.AssertWasCalled(x => x.Start(null), opt =>
>> opt.IgnoreArguments());
>> }
>>
>> The test passes the first time but for the following 2 test cases, I
>> get ExpectedViolation exceptions:
>>
>> Expected #1, Actual #3.
>> Expected #1, Actual #2.
>>
>> Can anyone see what I am doing wrong?  I've tried placing Repeat on
>> the stub but get the same error.
>>
>> Cheers
>>
>> Paul
>>
>>
>>
>>
>>
>>
>



>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~--~~~~--~~--~--~---



[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Paul Cowan
You are correct.

It seems my knowledge of stubs is wrong.

I thought I would have to stub out the method to ensure that it was called.

Cheers for pointing that out,

2009/1/10 Simone Busoli 

> No, it's not. What is the first call to stub for? It doesn't set any
> expectation and doesn't return any value, so I think you could remove it.
>
>
> On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan  wrote:
>
>>  >> I don't understand your test. In particular, the first call to Stub
>> what is supposed to do? It is doing nothing.
>>
>> It gets called deep inside the
>> _incidentManagementController.InitialiseBlanketMessage method.
>>
>> _processorClient is a dependency of the _incidentManagementController.
>> The dependency is set int the [SetUp].
>>
>> Any clearer?
>>
>> 2009/1/10 Simone Busoli 
>>
>> and don't understand what you're doing with the test arguments, where do
>>> you use them?
>>>
>>>
>>> On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli 
>>> wrote:
>>>
 I don't understand your test. In particular, the first call to Stub what
 is supposed to do? It is doing nothing.


 On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan  wrote:

> Hi,
>
> I am trying to run the following tests using the new paramaterised
> features of NUnit 2.5
>
> Here is my test:
>
> [
> TestCase(false, 0)]
> [TestCase(true, 1)]
> [TestCase(true, 2)]
> public void Then_the_message_should_only_send_sms_messages(boolresend,
> int resendAttempts)
> {
> _processorClient.Stub(x => x.Start(null)).IgnoreArguments();
>
>
> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
> MESSAGE_TEXT);
>
> _processorClient.AssertWasCalled(x => x.Start(null), opt =>
> opt.IgnoreArguments());
> }
>
> The test passes the first time but for the following 2 test cases, I
> get ExpectedViolation exceptions:
>
> Expected #1, Actual #3.
> Expected #1, Actual #2.
>
> Can anyone see what I am doing wrong?  I've tried placing Repeat on the
> stub but get the same error.
>
> Cheers
>
> Paul
>
>
>
>
>
>

>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~--~~~~--~~--~--~---



[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Simone Busoli
No, it's not. What is the first call to stub for? It doesn't set any
expectation and doesn't return any value, so I think you could remove it.

On Sat, Jan 10, 2009 at 8:19 PM, Paul Cowan  wrote:

> >> I don't understand your test. In particular, the first call to Stub what
> is supposed to do? It is doing nothing.
>
> It gets called deep inside the
> _incidentManagementController.InitialiseBlanketMessage method.
>
> _processorClient is a dependency of the _incidentManagementController.  The
> dependency is set int the [SetUp].
>
> Any clearer?
>
> 2009/1/10 Simone Busoli 
>
> and don't understand what you're doing with the test arguments, where do
>> you use them?
>>
>>
>> On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli 
>> wrote:
>>
>>> I don't understand your test. In particular, the first call to Stub what
>>> is supposed to do? It is doing nothing.
>>>
>>>
>>> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan  wrote:
>>>
 Hi,

 I am trying to run the following tests using the new paramaterised
 features of NUnit 2.5

 Here is my test:

 [
 TestCase(false, 0)]
 [TestCase(true, 1)]
 [TestCase(true, 2)]
 public void Then_the_message_should_only_send_sms_messages(bool resend,
 int resendAttempts)
 {
 _processorClient.Stub(x => x.Start(null)).IgnoreArguments();


 _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
 MESSAGE_TEXT);

 _processorClient.AssertWasCalled(x => x.Start(null), opt =>
 opt.IgnoreArguments());
 }

 The test passes the first time but for the following 2 test cases, I get
 ExpectedViolation exceptions:

 Expected #1, Actual #3.
 Expected #1, Actual #2.

 Can anyone see what I am doing wrong?  I've tried placing Repeat on the
 stub but get the same error.

 Cheers

 Paul






>>>
>>
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~--~~~~--~~--~--~---



[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Paul Cowan
>> I don't understand your test. In particular, the first call to Stub what
is supposed to do? It is doing nothing.

It gets called deep inside the
_incidentManagementController.InitialiseBlanketMessage method.

_processorClient is a dependency of the _incidentManagementController.  The
dependency is set int the [SetUp].

Any clearer?

2009/1/10 Simone Busoli 

> and don't understand what you're doing with the test arguments, where do
> you use them?
>
>
> On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli wrote:
>
>> I don't understand your test. In particular, the first call to Stub what
>> is supposed to do? It is doing nothing.
>>
>>
>> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan  wrote:
>>
>>> Hi,
>>>
>>> I am trying to run the following tests using the new paramaterised
>>> features of NUnit 2.5
>>>
>>> Here is my test:
>>>
>>> [
>>> TestCase(false, 0)]
>>> [TestCase(true, 1)]
>>> [TestCase(true, 2)]
>>> public void Then_the_message_should_only_send_sms_messages(bool resend,
>>> int resendAttempts)
>>> {
>>> _processorClient.Stub(x => x.Start(null)).IgnoreArguments();
>>>
>>> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
>>> MESSAGE_TEXT);
>>>
>>> _processorClient.AssertWasCalled(x => x.Start(null), opt =>
>>> opt.IgnoreArguments());
>>> }
>>>
>>> The test passes the first time but for the following 2 test cases, I get
>>> ExpectedViolation exceptions:
>>>
>>> Expected #1, Actual #3.
>>> Expected #1, Actual #2.
>>>
>>> Can anyone see what I am doing wrong?  I've tried placing Repeat on the
>>> stub but get the same error.
>>>
>>> Cheers
>>>
>>> Paul
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~--~~~~--~~--~--~---



[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Simone Busoli
and don't understand what you're doing with the test arguments, where do you
use them?

On Sat, Jan 10, 2009 at 7:32 PM, Simone Busoli wrote:

> I don't understand your test. In particular, the first call to Stub what is
> supposed to do? It is doing nothing.
>
>
> On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan  wrote:
>
>> Hi,
>>
>> I am trying to run the following tests using the new paramaterised
>> features of NUnit 2.5
>>
>> Here is my test:
>>
>> [
>> TestCase(false, 0)]
>> [TestCase(true, 1)]
>> [TestCase(true, 2)]
>> public void Then_the_message_should_only_send_sms_messages(bool resend,
>> int resendAttempts)
>> {
>> _processorClient.Stub(x => x.Start(null)).IgnoreArguments();
>>
>> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
>> MESSAGE_TEXT);
>>
>> _processorClient.AssertWasCalled(x => x.Start(null), opt =>
>> opt.IgnoreArguments());
>> }
>>
>> The test passes the first time but for the following 2 test cases, I get
>> ExpectedViolation exceptions:
>>
>> Expected #1, Actual #3.
>> Expected #1, Actual #2.
>>
>> Can anyone see what I am doing wrong?  I've tried placing Repeat on the
>> stub but get the same error.
>>
>> Cheers
>>
>> Paul
>>
>>
>>
>>
>> >>
>>
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~--~~~~--~~--~--~---



[rhino-tools-dev] Re: Paramaterised tests and stubs

2009-01-10 Thread Simone Busoli
I don't understand your test. In particular, the first call to Stub what is
supposed to do? It is doing nothing.

On Sat, Jan 10, 2009 at 4:37 PM, Paul Cowan  wrote:

> Hi,
>
> I am trying to run the following tests using the new paramaterised features
> of NUnit 2.5
>
> Here is my test:
>
> [
> TestCase(false, 0)]
> [TestCase(true, 1)]
> [TestCase(true, 2)]
> public void Then_the_message_should_only_send_sms_messages(bool resend,
> int resendAttempts)
> {
> _processorClient.Stub(x => x.Start(null)).IgnoreArguments();
>
> _incidentManagementController.InitialiseBlanketMessage(_callTree.Uid,
> MESSAGE_TEXT);
>
> _processorClient.AssertWasCalled(x => x.Start(null), opt =>
> opt.IgnoreArguments());
> }
>
> The test passes the first time but for the following 2 test cases, I get
> ExpectedViolation exceptions:
>
> Expected #1, Actual #3.
> Expected #1, Actual #2.
>
> Can anyone see what I am doing wrong?  I've tried placing Repeat on the
> stub but get the same error.
>
> Cheers
>
> Paul
>
>
>
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~--~~~~--~~--~--~---