[rhino-tools-dev] Re: Paramaterised tests and stubs
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
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
>> 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
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
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
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
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
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
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
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
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
>> 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
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
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 -~--~~~~--~~--~--~---