Hi,
I am expecting to return a Collection:
final List<ICallLeg> agentCallLegs = new ArrayList<ICallLeg>();
agentCallLegs.add(context.mock(ICallLeg.class,"Agent1CallLeg"));
agentCallLegs.add(context.mock(ICallLeg.class,"Agent2CallLeg"));
atLeast(1).of(mockCdgContext).getAgentCallLegs();
will(returnIterator(agentCallLegs));
My mocked interface has:
public Collection<ICallLeg> getAgentCallLegs();
When I run this in my context I get the following ( see below).
What am I missing in order to return a my collection?
cheers,
//mike
java.lang.IllegalStateException: tried to return an incompatible value: expected a java.util.Collection but returned a java.util.AbstractList$Itr
at org.jmock.api.Invocation.reportTypeError(Invocation.java:151)
at org.jmock.api.Invocation.checkReturnTypeCompatibility(Invocation.java:119)
at org.jmock.internal.InvocationExpectation.invoke(InvocationExpectation.java:127)
at org.jmock.internal.InvocationDispatcher.dispatch(InvocationDispatcher.java:52)
at org.jmock.Mockery.dispatch(Mockery.java:204)
at org.jmock.Mockery.access$000(Mockery.java:37)
at org.jmock.Mockery$MockObject.invoke(Mockery.java:246)
at org.jmock.internal.InvocationDiverter.invoke(InvocationDiverter.java:27)
at org.jmock.internal.ProxiedObjectIdentity.invoke(ProxiedObjectIdentity.java:36)
at org.jmock.lib.JavaReflectionImposteriser$1.invoke(JavaReflectionImposteriser.java:33)
at $Proxy15.getAgentCallLegs(Unknown Source)
at com.ericsson.wong.sip.cdg.CdgServlet.hangupAgents(CdgServlet.java:256)
at com.ericsson.wong.sip.cdg.CdgServlet.inviteAgent(CdgServlet.java:177)
at com.ericsson.wong.sip.cdg.CdgServlet.doInvite(CdgServlet.java:310)
at javax.servlet.sip.SipServlet.doRequest(SipServlet.java:54)
at com.ericsson.wong.sip.cdg.CdgServlet.doRequest(CdgServlet.java:56)
at javax.servlet.sip.SipServlet.service(SipServlet.java:43)
at com.ericsson.wong.sip.cdg.CdgServletTest.testdoInviteSendBusy(CdgServletTest.java:254)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
at org.jmock.integration.junit4.JMock$1.invoke(JMock.java:36)
at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)