From: Steve F. <sm...@us...> - 2003-11-11 06:47:10
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv20692/src/core/test/mockobjects/dynamic Modified Files: InvocationMockerTest.java Log Message: Test tidy up Added test for adding matchers Index: InvocationMockerTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/InvocationMockerTest.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- InvocationMockerTest.java 29 Oct 2003 22:11:36 -0000 1.6 +++ InvocationMockerTest.java 11 Nov 2003 06:47:07 -0000 1.7 @@ -27,9 +27,11 @@ public class MockInvocationMatcher implements InvocationMatcher { public ExpectationValue invocation = new ExpectationValue("MockInvocationMatcher.invoked"); + public ExpectationValue match = new ExpectationValue("MockInvocationMatcher.matches"); public ExpectationCounter verifyCalls = new ExpectationCounter("Verify calls"); public boolean matches(Invocation invocation) { + match.setActual(invocation); return true; } public void invoked(Invocation invocation) { @@ -54,7 +56,7 @@ } }; - private Invocation invocation = + private Invocation exampleInvocation = new Invocation("example", new Class[] { String.class, String.class }, Void.class, new Object[] { "arg1", "arg2"} ); @@ -67,46 +69,46 @@ InvocationMocker invocationMocker = new InvocationMocker(new InvocationMatcher[] { matchAll, matchAll}, null); - assertTrue("Should have matched", invocationMocker.matches(invocation)); + assertTrue("Should have matched", invocationMocker.matches(exampleInvocation)); } public void testDoesNotMatchIfEverythingMatches() { InvocationMocker invocationMocker = new InvocationMocker(new InvocationMatcher[] { matchAll, matchNone}, null); - assertFalse("Should not have matched", invocationMocker.matches(invocation)); + assertFalse("Should not have matched", invocationMocker.matches(exampleInvocation)); } - public void testExampleInvocationMatches() { + public void testMatchesInvocationWithParameters() { InvocationMocker invocationMocker = new InvocationMocker( new InvocationMatcher[] { new MethodNameMatcher("example"), new ArgumentsMatcher( new Constraint[] {C.eq("arg1"), C.eq("arg2")})}, null); - assertTrue("Should have matched", invocationMocker.matches(invocation)); + assertTrue("Should have matched", invocationMocker.matches(exampleInvocation)); } - public void testExampleInvocationDoesNotMatch() { + public void testDoesNotMatchWithDifferentParameter() { InvocationMocker invocationMocker = new InvocationMocker( new InvocationMatcher[] { new MethodNameMatcher("example"), new ArgumentsMatcher( new Constraint[] {C.eq("arg1"), C.eq("not arg2")})}, null); - assertFalse("Should not have matched", invocationMocker.matches(invocation)); + assertFalse("Should not have matched", invocationMocker.matches(exampleInvocation)); } - public void testCallsInvokedOnInvocationMatchersBeforeStub() throws Throwable { + public void testMatchesInvocationBeforeCallingStub() throws Throwable { MockInvocationMatcher mockInvocationMatcher = new MockInvocationMatcher(); InvocationMocker mocker = new InvocationMocker(new InvocationMatcher[] {mockInvocationMatcher}, new VoidStub()); - mockInvocationMatcher.invocation.setExpected(invocation); + mockInvocationMatcher.invocation.setExpected(exampleInvocation); - mocker.invoke(invocation); + mocker.invoke(exampleInvocation); Verifier.verifyObject(mockInvocationMatcher); } - public void testDelegatesVerifyCallToInvocationMatchers() throws Throwable { + public void testDelegatesVerifyToInvocationMatchers() throws Throwable { MockInvocationMatcher mockInvocationMatcher = new MockInvocationMatcher(); InvocationMocker mocker = new InvocationMocker(new InvocationMatcher[] {mockInvocationMatcher}, new VoidStub()); @@ -118,17 +120,30 @@ } - public void testInvokeDelegatesToStubObject() throws Throwable { + public void testDelegatesInvocationToStubObject() throws Throwable { MockStub mockStub = new MockStub(); InvocationMocker mocker = new InvocationMocker(new InvocationMatcher[0], mockStub); - mockStub.stubInvocation.setExpected(invocation); + mockStub.stubInvocation.setExpected(exampleInvocation); - assertEquals("Should be invoke result", "stub result", mocker.invoke(invocation)); + assertEquals("Should be invoke result", "stub result", mocker.invoke(exampleInvocation)); Verifier.verifyObject(mockStub); } - //TODO addMatcher test + public void testCanAddExtraMatchers() throws Throwable + { + MockInvocationMatcher mockInvocationMatcher = new MockInvocationMatcher(); + + InvocationMocker mocker = new InvocationMocker(new InvocationMatcher[0], new VoidStub()); + mockInvocationMatcher.match.setExpected(exampleInvocation); + mockInvocationMatcher.invocation.setExpected(exampleInvocation); + + mocker.addMatcher(mockInvocationMatcher); + mocker.matches(exampleInvocation); + mocker.invoke(exampleInvocation); + + Verifier.verifyObject(mockInvocationMatcher); + } } |