You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(13) |
Aug
(151) |
Sep
(21) |
Oct
(6) |
Nov
(70) |
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(47) |
Feb
(66) |
Mar
(23) |
Apr
(115) |
May
(24) |
Jun
(53) |
Jul
(10) |
Aug
(279) |
Sep
(84) |
Oct
(149) |
Nov
(138) |
Dec
(52) |
2003 |
Jan
(22) |
Feb
(20) |
Mar
(29) |
Apr
(106) |
May
(170) |
Jun
(122) |
Jul
(70) |
Aug
(64) |
Sep
(27) |
Oct
(71) |
Nov
(49) |
Dec
(9) |
2004 |
Jan
(7) |
Feb
(38) |
Mar
(3) |
Apr
(9) |
May
(22) |
Jun
(4) |
Jul
(1) |
Aug
(2) |
Sep
(2) |
Oct
|
Nov
(15) |
Dec
(2) |
2005 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(1) |
May
(28) |
Jun
(3) |
Jul
(11) |
Aug
(5) |
Sep
(1) |
Oct
(5) |
Nov
(2) |
Dec
(3) |
2006 |
Jan
(8) |
Feb
(3) |
Mar
(8) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Steve F. <sm...@us...> - 2003-10-17 08:43:55
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/support In directory sc8-pr-cvs1:/tmp/cvs-serv15889/src/core/test/mockobjects/dynamic/support Added Files: MockDynamicMock.java Log Message: Started first cut at new DynaMock (use that name because running out of options) --- NEW FILE: MockDynamicMock.java --- /* * Copyright Mockobjects.com 16-Oct-2003 */ package test.mockobjects.dynamic.support; import java.lang.reflect.Method; import com.mockobjects.dynamic.DynamicMock; import com.mockobjects.dynamic.Invokable; public class MockDynamicMock implements DynamicMock { public void add(Invokable invokable) { } public Object proxy() { return null; } public void reset() { } public void verify() { } public Object invoke(Object arg0, Method arg1, Object[] arg2) throws Throwable { return null; } public String toStringResult; public String toString() { return toStringResult; } } |
From: Steve F. <sm...@us...> - 2003-10-17 08:43:55
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv15889/src/core/functional/test/mockobjects/dynamic Modified Files: DynamicMockExample.java Log Message: Started first cut at new DynaMock (use that name because running out of options) Index: DynamicMockExample.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic/DynamicMockExample.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DynamicMockExample.java 1 Oct 2003 20:21:42 -0000 1.2 +++ DynamicMockExample.java 17 Oct 2003 08:38:31 -0000 1.3 @@ -19,6 +19,13 @@ } } + + public void xtestWorkingExample() { + DynaMock mockMarket = new DynaMock(Market.class); + Agent agent = new Agent((Market)mockMarket.proxy()); + + // mockMarket.method("buyStock", "IBM", new Integer(10)); + } public void xtestExample() { Mock mockMarket = new Mock(Market.class); Agent agent = new Agent((Market)mockMarket.proxy()); |
From: Steve F. <sm...@us...> - 2003-10-17 08:43:55
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv15889/src/core/test/mockobjects/dynamic Added Files: DynaMockTest.java Log Message: Started first cut at new DynaMock (use that name because running out of options) --- NEW FILE: DynaMockTest.java --- /* * Copyright Mockobjects.com -Oct-2003 */ package test.mockobjects.dynamic; import test.mockobjects.dynamic.support.MockDynamicMock; import com.mockobjects.dynamic.DynaMock; import junit.framework.TestCase; public class DynaMockTest extends TestCase { private MockDynamicMock mockCoreMock = new MockDynamicMock(); private DynaMock mock = new DynaMock(mockCoreMock); public void testToStringComesFromUnderlyingDynamicMock() { mockCoreMock.toStringResult = "some string here"; assertEquals("Should be same string", "some string here", mock.toString()); } // public void testMethodAddsInvocationMockerAndReturns } |
From: Steve F. <sm...@us...> - 2003-10-17 08:43:22
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv15889/src/core/com/mockobjects/dynamic Added Files: DynaMock.java Log Message: Started first cut at new DynaMock (use that name because running out of options) --- NEW FILE: DynaMock.java --- /* * Copyright Mockobjects.com 16-Oct-2003 */ package com.mockobjects.dynamic; import com.mockobjects.Verifiable; public class DynaMock implements Verifiable { DynamicMock coreMock; public DynaMock(Class mockedType) { } public DynaMock(DynamicMock coreMock) { this.coreMock = coreMock; } public Object proxy() { return coreMock.proxy(); } public String toString() { return coreMock.toString(); } public void verify() { coreMock.verify(); } } |
From: Steve F. <sm...@us...> - 2003-10-15 08:21:02
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/support In directory sc8-pr-cvs1:/tmp/cvs-serv7112/src/core/test/mockobjects/dynamic/support Removed Files: MockInvokableFactory.java Log Message: Removed Mock unit tests in favour of Mock functional test InvokableFactory is now a class --- MockInvokableFactory.java DELETED --- |
From: Steve F. <sm...@us...> - 2003-10-15 08:21:01
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv7112/src/core/com/mockobjects/dynamic Modified Files: Mock.java InvokableFactory.java Removed Files: DefaultInvokableFactory.java Log Message: Removed Mock unit tests in favour of Mock functional test InvokableFactory is now a class Index: Mock.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Mock.java,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- Mock.java 14 Oct 2003 20:26:03 -0000 1.42 +++ Mock.java 15 Oct 2003 08:20:54 -0000 1.43 @@ -4,17 +4,17 @@ import com.mockobjects.constraint.Constraint; public class Mock implements Verifiable { - private InvokableFactory callableFactory; + private InvokableFactory invokableFactory; private DynamicMock coreMock; - public Mock(InvokableFactory callableFactory, InvocationDispatcher invocationDispatcher, Class mockedClass, String name) { + public Mock(InvokableFactory invokableFactory, InvocationDispatcher invocationDispatcher, Class mockedClass, String name) { coreMock = new CoreMock(mockedClass, name, invocationDispatcher); - this.callableFactory = callableFactory; + this.invokableFactory = invokableFactory; } public Mock(Class mockedClass, String nonDefaultName) { - this(new DefaultInvokableFactory(), new LIFOInvocationDispatcher(), mockedClass, nonDefaultName); + this(new InvokableFactory(), new LIFOInvocationDispatcher(), mockedClass, nonDefaultName); } public Mock(Class mockedClass) { @@ -42,27 +42,27 @@ } public void expect(String methodName, InvocationMatcher args) { - coreMock.add(callableFactory.createVoidExpectation(methodName, args)); + coreMock.add(invokableFactory.createVoidExpectation(methodName, args)); } public void expectAndReturn(String methodName, InvocationMatcher args, Object result) { - coreMock.add(callableFactory.createReturnExpectation(methodName, args, result)); + coreMock.add(invokableFactory.createReturnExpectation(methodName, args, result)); } public void expectAndThrow(String methodName, InvocationMatcher args, Throwable throwable) { - coreMock.add(callableFactory.createThrowableExpectation(methodName, args, throwable)); + coreMock.add(invokableFactory.createThrowableExpectation(methodName, args, throwable)); } public void match(String methodName, InvocationMatcher args) { - coreMock.add(callableFactory.createVoidStub(methodName, args)); + coreMock.add(invokableFactory.createVoidStub(methodName, args)); } public void matchAndReturn(String methodName, InvocationMatcher args, Object result) { - coreMock.add(callableFactory.createReturnStub(methodName, args, result)); + coreMock.add(invokableFactory.createReturnStub(methodName, args, result)); } public void matchAndThrow(String methodName, InvocationMatcher args, Throwable throwable) { - coreMock.add(callableFactory.createThrowableStub(methodName, args, throwable)); + coreMock.add(invokableFactory.createThrowableStub(methodName, args, throwable)); } /* Index: InvokableFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/InvokableFactory.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- InvokableFactory.java 14 Oct 2003 20:26:03 -0000 1.7 +++ InvokableFactory.java 15 Oct 2003 08:20:54 -0000 1.8 @@ -1,10 +1,25 @@ package com.mockobjects.dynamic; -public interface InvokableFactory { - Invokable createReturnStub( String methodName, InvocationMatcher constraints, Object result ); - Invokable createReturnExpectation( String methodName, InvocationMatcher constraints, Object result ); - Invokable createThrowableStub( String methodName, InvocationMatcher constraints, Throwable throwable); - Invokable createThrowableExpectation( String methodName, InvocationMatcher constraints, Throwable throwable); - Invokable createVoidStub ( String methodName, InvocationMatcher constraints); - Invokable createVoidExpectation ( String methodName, InvocationMatcher constraints); +public class InvokableFactory { + + public Invokable createReturnStub(String methodName, InvocationMatcher arguments, Object result) { + return new InvocationMocker(methodName, arguments, new ReturnStub(result)); + } + public Invokable createReturnExpectation(String methodName, InvocationMatcher arguments, Object result) { + return new InvocationMocker(methodName, arguments, new CallOnceStub(new ReturnStub(result))); + } + + public Invokable createThrowableStub(String methodName, InvocationMatcher arguments, Throwable throwable) { + return new InvocationMocker(methodName, arguments, new ThrowStub(throwable)); + } + public Invokable createThrowableExpectation(String methodName, InvocationMatcher arguments, Throwable throwable) { + return new InvocationMocker(methodName, arguments,new CallOnceStub(new ThrowStub(throwable))); + } + + public Invokable createVoidStub(String methodName, InvocationMatcher arguments) { + return new InvocationMocker(methodName, arguments, new VoidStub()); + } + public Invokable createVoidExpectation(String methodName, InvocationMatcher arguments) { + return new InvocationMocker(methodName, arguments, new CallOnceStub(new VoidStub())); + } } --- DefaultInvokableFactory.java DELETED --- |
From: Steve F. <sm...@us...> - 2003-10-15 08:21:01
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv7112/src/core/test/mockobjects/dynamic Removed Files: MockTest.java Log Message: Removed Mock unit tests in favour of Mock functional test InvokableFactory is now a class --- MockTest.java DELETED --- |
Update of /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv7112/src/core/functional/test/mockobjects/dynamic Modified Files: VoidMockTest.java MockTestActions.java MockTest.java ThrowableMockTest.java ReturnMockTest.java Log Message: Removed Mock unit tests in favour of Mock functional test InvokableFactory is now a class Index: VoidMockTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic/VoidMockTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- VoidMockTest.java 8 Oct 2003 23:45:44 -0000 1.1 +++ VoidMockTest.java 15 Oct 2003 08:20:54 -0000 1.2 @@ -4,12 +4,14 @@ */ package functional.test.mockobjects.dynamic; +import com.mockobjects.dynamic.C; import com.mockobjects.dynamic.Mock; public class VoidMockTest extends MockTest { public interface TargetType { void noParams(); void oneParam(Object aParam); + void twoParams(Object param1, Object param2); } public class VoidMockTestActions implements MockTestActions { @@ -18,10 +20,12 @@ public void expectNoParams() { mockTarget.expect("noParams"); } public void expectOneParam() { mockTarget.expect("oneParam", "one"); } + public void expectTwoParams() {mockTarget.expect("twoParams", C.eq("one", "two")); } public void expectNotNoParams() { mockTarget.expect("notNoParams"); } public void callNoParams() { targetType.noParams(); } public void callOneParam() { targetType.oneParam("one"); } - public void callOneIncorrectParam() { targetType.oneParam("two"); } + public void callTwoParams() { targetType.twoParams("one", "two"); } + public void callIncorrectSecondParameter() { targetType.twoParams("one", "not two"); } public void verifyMock() { mockTarget.verify(); } } Index: MockTestActions.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic/MockTestActions.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- MockTestActions.java 8 Oct 2003 23:45:44 -0000 1.1 +++ MockTestActions.java 15 Oct 2003 08:20:54 -0000 1.2 @@ -6,9 +6,11 @@ public interface MockTestActions { void expectNoParams(); void expectOneParam(); + void expectTwoParams(); void expectNotNoParams(); void callNoParams(); void callOneParam(); - void callOneIncorrectParam(); + void callTwoParams(); + void callIncorrectSecondParameter(); void verifyMock(); } Index: MockTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic/MockTest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- MockTest.java 8 Oct 2003 23:45:44 -0000 1.4 +++ MockTest.java 15 Oct 2003 08:20:54 -0000 1.5 @@ -71,17 +71,17 @@ fail("Should have thrown exception"); } - public void testPassesIfMockedMethodCalledWithParameter() { - actions.expectOneParam(); - actions.callOneParam(); + public void testPassesIfMockedMethodCalledWithParameters() { + actions.expectTwoParams(); + actions.callTwoParams(); actions.verifyMock(); } public void testInvocationFailsIfParameterValueIncorrect() { - actions.expectOneParam(); + actions.expectTwoParams(); try { - actions.callOneIncorrectParam(); + actions.callIncorrectSecondParameter(); } catch (AssertionFailedError unused) { return; } Index: ThrowableMockTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic/ThrowableMockTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ThrowableMockTest.java 8 Oct 2003 23:45:44 -0000 1.1 +++ ThrowableMockTest.java 15 Oct 2003 08:20:54 -0000 1.2 @@ -4,13 +4,15 @@ */ package functional.test.mockobjects.dynamic; +import com.mockobjects.dynamic.C; import com.mockobjects.dynamic.Mock; public class ThrowableMockTest extends MockTest { public class TargetException extends Exception {}; public interface TargetType { - Object noParams() throws TargetException; - Object oneParam(Object aParam) throws TargetException; + void noParams() throws TargetException; + void oneParam(Object aParam) throws TargetException; + void twoParams(Object param1, Object param2) throws TargetException; } public class ReturnMockTestActions implements MockTestActions { @@ -19,6 +21,9 @@ public void expectNoParams() { mockTarget.expectAndThrow("noParams", new TargetException()); } public void expectOneParam() { mockTarget.expectAndThrow("oneParam", "one", new TargetException()); } + public void expectTwoParams() { + mockTarget.expectAndThrow("twoParams", C.eq("one", "two"), new TargetException()); + } public void expectNotNoParams() { mockTarget.expectAndThrow("notNoParams", new TargetException()); } public void callNoParams() { try { @@ -36,9 +41,17 @@ } fail("Should have thrown exception"); } - public void callOneIncorrectParam() { + public void callTwoParams() { + try { + targetType.twoParams("one", "two"); + } catch (TargetException expected) { + return; + } + fail("Should have thrown exception"); + } + public void callIncorrectSecondParameter() { try { - targetType.oneParam("two"); + targetType.twoParams("one", "not two"); } catch (TargetException e) { return; // skip } Index: ReturnMockTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic/ReturnMockTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ReturnMockTest.java 8 Oct 2003 23:45:44 -0000 1.1 +++ ReturnMockTest.java 15 Oct 2003 08:20:54 -0000 1.2 @@ -4,12 +4,14 @@ */ package functional.test.mockobjects.dynamic; +import com.mockobjects.dynamic.C; import com.mockobjects.dynamic.Mock; public class ReturnMockTest extends MockTest { public interface TargetType { Object noParams(); Object oneParam(Object aParam); + Object twoParams(Object param1, Object param2); } public class ThrowableMockTestActions implements MockTestActions { @@ -18,6 +20,9 @@ public void expectNoParams() { mockTarget.expectAndReturn("noParams", "result"); } public void expectOneParam() { mockTarget.expectAndReturn("oneParam", "one", "result"); } + public void expectTwoParams() { + mockTarget.expectAndReturn("twoParams", C.eq("one", "two"), "result"); + } public void expectNotNoParams() { mockTarget.expectAndReturn("notNoParams", "result"); } public void callNoParams() { assertEquals("Should be no params result", "result", targetType.noParams()); @@ -25,7 +30,10 @@ public void callOneParam() { assertEquals("Should be one params result", "result", targetType.oneParam("one")); } - public void callOneIncorrectParam() { targetType.oneParam("two"); } + public void callTwoParams() { + assertEquals("Should be two params result", "result", targetType.twoParams("one", "two")); + } + public void callIncorrectSecondParameter() { targetType.twoParams("one", "not two"); } public void verifyMock() { mockTarget.verify(); } } |
From: Steve F. <sm...@us...> - 2003-10-14 20:26:23
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv22009/src/core/com/mockobjects/dynamic Modified Files: Expectation.java CoreMock.java InvocationMatcher.java Mock.java InvocationMocker.java C.java InvokableFactory.java DefaultInvokableFactory.java Removed Files: ArgumentsMatcher.java FullArgumentsMatcher.java Log Message: Converged ArgumentMatcher into InvocationMatcher.Arguments Index: Expectation.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Expectation.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Expectation.java 20 Aug 2003 21:47:58 -0000 1.1 +++ Expectation.java 14 Oct 2003 20:26:03 -0000 1.2 @@ -1,8 +1,5 @@ /* - * Created on 20-Aug-2003 - * - * To change the template for this generated file go to - * Window>Preferences>Java>Code Generation>Code and Comments + * Copyright mockobjects.com 20-Aug-2003 */ package com.mockobjects.dynamic; @@ -10,8 +7,6 @@ /** * An object that checks expectations of an Invokable object. - * - * @author montagu */ public interface Expectation extends Verifiable Index: CoreMock.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/CoreMock.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- CoreMock.java 2 Oct 2003 22:55:32 -0000 1.12 +++ CoreMock.java 14 Oct 2003 20:26:03 -0000 1.13 @@ -56,8 +56,8 @@ return this.name; } - public void add(Invokable invocationMatcher) { - invocationDispatcher.add(invocationMatcher); + public void add(Invokable invokable) { + invocationDispatcher.add(invokable); } public void reset() { Index: InvocationMatcher.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/InvocationMatcher.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- InvocationMatcher.java 5 Oct 2003 08:57:27 -0000 1.2 +++ InvocationMatcher.java 14 Oct 2003 20:26:03 -0000 1.3 @@ -27,7 +27,9 @@ } } - public class Arguments implements InvocationMatcher { + public class Arguments + implements InvocationMatcher + { private Constraint[] constraints; public Arguments(Constraint[] constraints) { @@ -46,6 +48,23 @@ } } return true; + } + + public Constraint[] getConstraints() { + return constraints; + } + + public String toString() { + StringBuffer result = new StringBuffer(); + result.append("ArgumentMatcher: "); + for (int i = 0; i < constraints.length; ++i) { + result.append(constraints[i]).append(", "); + } + return result.toString(); + } + + public boolean equals(Object other) { + return other != null && toString().equals(other.toString()); } } Index: Mock.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Mock.java,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- Mock.java 4 Oct 2003 22:56:45 -0000 1.41 +++ Mock.java 14 Oct 2003 20:26:03 -0000 1.42 @@ -25,13 +25,13 @@ return coreMock.toString(); } - private ArgumentsMatcher createConstraintMatcher(Object constraintArg) { + private InvocationMatcher createConstraintMatcher(Object constraintArg) { // Can't overload this method as callee had an Object parameter, and java // doesn't do a secondary dispatch on the true underlying type if (constraintArg instanceof Constraint[]) { // to support possible legacy usage of new Contraint[] {...} - return new FullArgumentsMatcher((Constraint[])constraintArg); + return new InvocationMatcher.Arguments((Constraint[])constraintArg); } else if (constraintArg instanceof Constraint) { // to support usage of C.lt(5) type constraints return C.args((Constraint)constraintArg); @@ -41,27 +41,27 @@ } } - public void expect(String methodName, ArgumentsMatcher args) { + public void expect(String methodName, InvocationMatcher args) { coreMock.add(callableFactory.createVoidExpectation(methodName, args)); } - public void expectAndReturn(String methodName, ArgumentsMatcher args, Object result) { + public void expectAndReturn(String methodName, InvocationMatcher args, Object result) { coreMock.add(callableFactory.createReturnExpectation(methodName, args, result)); } - public void expectAndThrow(String methodName, ArgumentsMatcher args, Throwable throwable) { + public void expectAndThrow(String methodName, InvocationMatcher args, Throwable throwable) { coreMock.add(callableFactory.createThrowableExpectation(methodName, args, throwable)); } - public void match(String methodName, ArgumentsMatcher args) { + public void match(String methodName, InvocationMatcher args) { coreMock.add(callableFactory.createVoidStub(methodName, args)); } - public void matchAndReturn(String methodName, ArgumentsMatcher args, Object result) { + public void matchAndReturn(String methodName, InvocationMatcher args, Object result) { coreMock.add(callableFactory.createReturnStub(methodName, args, result)); } - public void matchAndThrow(String methodName, ArgumentsMatcher args, Throwable throwable) { + public void matchAndThrow(String methodName, InvocationMatcher args, Throwable throwable) { coreMock.add(callableFactory.createThrowableStub(methodName, args, throwable)); } @@ -101,11 +101,11 @@ expectAndReturn(methodName, singleEqualArg, new Integer(result)); } - public void expectAndReturn(String methodName, ArgumentsMatcher args, boolean result) { + public void expectAndReturn(String methodName, InvocationMatcher args, boolean result) { expectAndReturn(methodName, args, new Boolean(result)); } - public void expectAndReturn(String methodName, ArgumentsMatcher args, int result) { + public void expectAndReturn(String methodName, InvocationMatcher args, int result) { expectAndReturn(methodName, args, new Integer(result)); } @@ -165,11 +165,11 @@ matchAndReturn(methodName, singleEqualArg, new Integer(result)); } - public void matchAndReturn(String methodName, ArgumentsMatcher args, boolean result) { + public void matchAndReturn(String methodName, InvocationMatcher args, boolean result) { matchAndReturn(methodName, args, new Boolean(result)); } - public void matchAndReturn(String methodName, ArgumentsMatcher args, int result) { + public void matchAndReturn(String methodName, InvocationMatcher args, int result) { matchAndReturn(methodName, args, new Integer(result)); } @@ -191,7 +191,7 @@ /** @deprecated @see expect */ - public void expectVoid(String methodName, ArgumentsMatcher args) { + public void expectVoid(String methodName, InvocationMatcher args) { this.expect(methodName, args); } Index: InvocationMocker.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/InvocationMocker.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- InvocationMocker.java 5 Oct 2003 10:10:18 -0000 1.3 +++ InvocationMocker.java 14 Oct 2003 20:26:03 -0000 1.4 @@ -8,7 +8,7 @@ private InvocationMatcher[] matchers; private Stub stub; - public InvocationMocker(String methodName, InvocationMatcher.Arguments arguments, Stub stub) { + public InvocationMocker(String methodName, InvocationMatcher arguments, Stub stub) { this(new InvocationMatcher[] {new InvocationMatcher.MethodName(methodName), arguments}, stub); } Index: C.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/C.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- C.java 5 Oct 2003 09:28:16 -0000 1.6 +++ C.java 14 Oct 2003 20:26:03 -0000 1.7 @@ -19,16 +19,14 @@ public static final Constraint IS_ZERO = eq(new Integer(0)); public static final Constraint IS_NOT_ZERO = not(IS_ZERO); - public static final ArgumentsMatcher NO_ARGS = new FullArgumentsMatcher(new Constraint[0]); - public static final ArgumentsMatcher ANY_ARGS = - new ArgumentsMatcher() { - final Constraint anyArguments = new IsAnything() { - public String toString() { - return "Any Arguments"; - } - }; - public boolean matches(Object[] args) { return true; } - public Constraint[] getConstraints() { return new Constraint[] {anyArguments};} + public static final InvocationMatcher NO_ARGS = + new InvocationMatcher() { + public boolean matches(Invocation invocation) { return invocation.getParameterValues().isEmpty();} + }; + + public static final InvocationMatcher ANY_ARGS = + new InvocationMatcher() { + public boolean matches(Invocation invocation) { return true;} }; public static Constraint same( Object o ) { @@ -39,15 +37,15 @@ return new IsEqual(o); } - public static ArgumentsMatcher eq( Object arg0, Object arg1 ) { + public static InvocationMatcher eq( Object arg0, Object arg1 ) { return args(eq(arg0), eq(arg1)); } - public static ArgumentsMatcher eq( Object arg0, Object arg1, Object arg2 ) { + public static InvocationMatcher eq( Object arg0, Object arg1, Object arg2 ) { return args(eq(arg0), eq(arg1), eq(arg2)); } - public static ArgumentsMatcher eq( Object arg0, Object arg1, Object arg2, Object arg3 ) { + public static InvocationMatcher eq( Object arg0, Object arg1, Object arg2, Object arg3 ) { return args(eq(arg0), eq(arg1), eq(arg2), eq(arg3)); } @@ -116,32 +114,32 @@ /* Helper methods for succinctly constructing Constraint arrays */ - public static ArgumentsMatcher args() { + public static InvocationMatcher args() { return NO_ARGS; } - public static ArgumentsMatcher args(Constraint p) { - return new FullArgumentsMatcher(new Constraint[]{p}); + public static InvocationMatcher args(Constraint p) { + return new InvocationMatcher.Arguments(new Constraint[]{p}); } - public static ArgumentsMatcher args(Constraint p1, Constraint p2) { - return new FullArgumentsMatcher(new Constraint[]{p1, p2}); + public static InvocationMatcher args(Constraint p1, Constraint p2) { + return new InvocationMatcher.Arguments(new Constraint[]{p1, p2}); } - public static ArgumentsMatcher args(Constraint p1, Constraint p2, Constraint p3) { - return new FullArgumentsMatcher(new Constraint[]{p1, p2, p3}); + public static InvocationMatcher args(Constraint p1, Constraint p2, Constraint p3) { + return new InvocationMatcher.Arguments(new Constraint[]{p1, p2, p3}); } - public static ArgumentsMatcher args(Constraint p1, Constraint p2, Constraint p3, Constraint p4) { - return new FullArgumentsMatcher(new Constraint[]{p1, p2, p3, p4}); + public static InvocationMatcher args(Constraint p1, Constraint p2, Constraint p3, Constraint p4) { + return new InvocationMatcher.Arguments(new Constraint[]{p1, p2, p3, p4}); } - public static ArgumentsMatcher anyArgs( int argCount) { + public static InvocationMatcher anyArgs( int argCount) { Constraint[] constraints = new Constraint[argCount]; for (int i = 0; i < constraints.length; i++) { constraints[i] = new IsAnything(); } - return new FullArgumentsMatcher(constraints); + return new InvocationMatcher.Arguments(constraints); } } Index: InvokableFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/InvokableFactory.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- InvokableFactory.java 4 Oct 2003 22:56:45 -0000 1.6 +++ InvokableFactory.java 14 Oct 2003 20:26:03 -0000 1.7 @@ -1,10 +1,10 @@ package com.mockobjects.dynamic; public interface InvokableFactory { - Invokable createReturnStub( String methodName, ArgumentsMatcher constraints, Object result ); - Invokable createReturnExpectation( String methodName, ArgumentsMatcher constraints, Object result ); - Invokable createThrowableStub( String methodName, ArgumentsMatcher constraints, Throwable throwable); - Invokable createThrowableExpectation( String methodName, ArgumentsMatcher constraints, Throwable throwable); - Invokable createVoidStub ( String methodName, ArgumentsMatcher constraints); - Invokable createVoidExpectation ( String methodName, ArgumentsMatcher constraints); + Invokable createReturnStub( String methodName, InvocationMatcher constraints, Object result ); + Invokable createReturnExpectation( String methodName, InvocationMatcher constraints, Object result ); + Invokable createThrowableStub( String methodName, InvocationMatcher constraints, Throwable throwable); + Invokable createThrowableExpectation( String methodName, InvocationMatcher constraints, Throwable throwable); + Invokable createVoidStub ( String methodName, InvocationMatcher constraints); + Invokable createVoidExpectation ( String methodName, InvocationMatcher constraints); } Index: DefaultInvokableFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/DefaultInvokableFactory.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- DefaultInvokableFactory.java 8 Oct 2003 23:47:14 -0000 1.8 +++ DefaultInvokableFactory.java 14 Oct 2003 20:26:03 -0000 1.9 @@ -2,36 +2,24 @@ public class DefaultInvokableFactory implements InvokableFactory { - public Invokable createReturnStub(String methodName, ArgumentsMatcher arguments, Object result) { - return new InvocationMocker(methodName, - new InvocationMatcher.Arguments(arguments.getConstraints()), - new ReturnStub(result)); + public Invokable createReturnStub(String methodName, InvocationMatcher arguments, Object result) { + return new InvocationMocker(methodName, arguments, new ReturnStub(result)); } - public Invokable createReturnExpectation(String methodName, ArgumentsMatcher arguments, Object result) { - return new InvocationMocker(methodName, - new InvocationMatcher.Arguments(arguments.getConstraints()), - new CallOnceStub(new ReturnStub(result))); + public Invokable createReturnExpectation(String methodName, InvocationMatcher arguments, Object result) { + return new InvocationMocker(methodName, arguments, new CallOnceStub(new ReturnStub(result))); } - public Invokable createThrowableStub(String methodName, ArgumentsMatcher arguments, Throwable throwable) { - return new InvocationMocker(methodName, - new InvocationMatcher.Arguments(arguments.getConstraints()), - new ThrowStub(throwable)); + public Invokable createThrowableStub(String methodName, InvocationMatcher arguments, Throwable throwable) { + return new InvocationMocker(methodName, arguments, new ThrowStub(throwable)); } - public Invokable createThrowableExpectation(String methodName, ArgumentsMatcher arguments, Throwable throwable) { - return new InvocationMocker(methodName, - new InvocationMatcher.Arguments(arguments.getConstraints()), - new CallOnceStub(new ThrowStub(throwable))); + public Invokable createThrowableExpectation(String methodName, InvocationMatcher arguments, Throwable throwable) { + return new InvocationMocker(methodName, arguments,new CallOnceStub(new ThrowStub(throwable))); } - public Invokable createVoidStub(String methodName, ArgumentsMatcher arguments) { - return new InvocationMocker(methodName, - new InvocationMatcher.Arguments(arguments.getConstraints()), - new VoidStub()); + public Invokable createVoidStub(String methodName, InvocationMatcher arguments) { + return new InvocationMocker(methodName, arguments, new VoidStub()); } - public Invokable createVoidExpectation(String methodName, ArgumentsMatcher arguments) { - return new InvocationMocker(methodName, - new InvocationMatcher.Arguments(arguments.getConstraints()), - new CallOnceStub(new VoidStub())); + public Invokable createVoidExpectation(String methodName, InvocationMatcher arguments) { + return new InvocationMocker(methodName, arguments, new CallOnceStub(new VoidStub())); } } --- ArgumentsMatcher.java DELETED --- --- FullArgumentsMatcher.java DELETED --- |
From: Steve F. <sm...@us...> - 2003-10-14 20:26:21
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/support In directory sc8-pr-cvs1:/tmp/cvs-serv22009/src/core/test/mockobjects/dynamic/support Modified Files: MockInvokableFactory.java Removed Files: MockConstraintMatcher.java Log Message: Converged ArgumentMatcher into InvocationMatcher.Arguments Index: MockInvokableFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/support/MockInvokableFactory.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- MockInvokableFactory.java 4 Oct 2003 22:56:45 -0000 1.8 +++ MockInvokableFactory.java 14 Oct 2003 20:26:04 -0000 1.9 @@ -6,7 +6,7 @@ import com.mockobjects.ExpectationList; import com.mockobjects.MockObject; -import com.mockobjects.dynamic.ArgumentsMatcher; +import com.mockobjects.dynamic.InvocationMatcher; import com.mockobjects.dynamic.Invokable; import com.mockobjects.dynamic.InvokableFactory; @@ -21,7 +21,7 @@ public void expectCreateReturnStub( String methodName, - ArgumentsMatcher constraints, + InvocationMatcher constraints, Object result) { parameters.addExpectedMany( @@ -30,7 +30,7 @@ public Invokable createReturnStub( String methodName, - ArgumentsMatcher constraints, + InvocationMatcher constraints, Object result) { parameters.addActualMany( @@ -40,14 +40,14 @@ public void expectCreateReturnExpectation( String methodName, - ArgumentsMatcher constraints, + InvocationMatcher constraints, Object result) { parameters.addExpectedMany( new Object[] { "createReturnExpectation", methodName, constraints, result }); } - public Invokable createReturnExpectation(String methodName, ArgumentsMatcher constraints, Object result) { + public Invokable createReturnExpectation(String methodName, InvocationMatcher constraints, Object result) { parameters.addActualMany( new Object[] { "createReturnExpectation", methodName, constraints, result }); return createInvokableResult; @@ -55,7 +55,7 @@ public void expectCreateThrowableStub( String methodName, - ArgumentsMatcher constraints, + InvocationMatcher constraints, Throwable throwable) { parameters.addExpectedMany( @@ -64,7 +64,7 @@ public Invokable createThrowableStub( String methodName, - ArgumentsMatcher constraints, + InvocationMatcher constraints, Throwable throwable) { parameters.addActualMany( @@ -74,21 +74,21 @@ public void expectCreateThrowableExpectation( String methodName, - ArgumentsMatcher constraints, + InvocationMatcher constraints, Throwable throwable) { parameters.addExpectedMany( new Object[] { "createThrowableExpectation", methodName, constraints, throwable }); } - public Invokable createThrowableExpectation(String methodName, ArgumentsMatcher constraints, Throwable throwable) { + public Invokable createThrowableExpectation(String methodName, InvocationMatcher constraints, Throwable throwable) { parameters.addActualMany( new Object[] { "createThrowableExpectation", methodName, constraints, throwable }); return createInvokableResult; } public void expectCreateVoidCallable( String methodName, - ArgumentsMatcher constraints) + InvocationMatcher constraints) { parameters.addExpectedMany( new Object[] { "createVoidStub", methodName, constraints }); @@ -96,7 +96,7 @@ public Invokable createVoidStub( String methodName, - ArgumentsMatcher constraints) + InvocationMatcher constraints) { parameters.addActualMany( new Object[] { "createVoidStub", methodName, constraints }); @@ -105,13 +105,13 @@ public void expectCreateVoidExpectation( String methodName, - ArgumentsMatcher constraints) + InvocationMatcher constraints) { parameters.addExpectedMany( new Object[] { "createVoidExpectation", methodName, constraints }); } - public Invokable createVoidExpectation(String methodName, ArgumentsMatcher constraints) { + public Invokable createVoidExpectation(String methodName, InvocationMatcher constraints) { parameters.addActualMany( new Object[] { "createVoidExpectation", methodName, constraints }); return createInvokableResult; --- MockConstraintMatcher.java DELETED --- |
From: Steve F. <sm...@us...> - 2003-10-14 20:26:21
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv22009/src/core/test/mockobjects/dynamic Modified Files: MockTest.java InvocationMatcherTest.java Removed Files: ArgumentsMatcherTest.java Log Message: Converged ArgumentMatcher into InvocationMatcher.Arguments Index: MockTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/MockTest.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- MockTest.java 4 Oct 2003 22:56:45 -0000 1.27 +++ MockTest.java 14 Oct 2003 20:26:04 -0000 1.28 @@ -1,12 +1,14 @@ package test.mockobjects.dynamic; -import test.mockobjects.dynamic.support.*; import junit.framework.TestCase; +import test.mockobjects.dynamic.support.MockInvocationDispatcher; +import test.mockobjects.dynamic.support.MockInvokable; +import test.mockobjects.dynamic.support.MockInvokableFactory; import com.mockobjects.constraint.Constraint; import com.mockobjects.constraint.IsEqual; import com.mockobjects.dynamic.C; -import com.mockobjects.dynamic.ArgumentsMatcher; +import com.mockobjects.dynamic.InvocationMatcher; import com.mockobjects.dynamic.Mock; @@ -14,8 +16,8 @@ private static final String MOCK_NAME = "Test mock"; final Throwable METHOD_EXCEPTION = new DummyThrowable("Configured test throwable"); - final ArgumentsMatcher METHOD_ONEARG_CONSTRAINTS = C.args(C.eq("oneP1")); - final ArgumentsMatcher METHOD_TWOARG_CONSTRAINTS = C.args(C.eq("twoP1"), C.eq("twoP2")); + final InvocationMatcher METHOD_ONEARG_CONSTRAINTS = C.args(C.eq("oneP1")); + final InvocationMatcher METHOD_TWOARG_CONSTRAINTS = C.args(C.eq("twoP1"), C.eq("twoP2")); private MockInvokableFactory mockCallableFactory = new MockInvokableFactory(); private MockInvocationDispatcher mockDispatcher = new MockInvocationDispatcher(); Index: InvocationMatcherTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/InvocationMatcherTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- InvocationMatcherTest.java 5 Oct 2003 08:57:27 -0000 1.2 +++ InvocationMatcherTest.java 14 Oct 2003 20:26:04 -0000 1.3 @@ -10,6 +10,9 @@ import com.mockobjects.util.TestCaseMo; public class InvocationMatcherTest extends TestCaseMo { + private Invocation emptyInvocation = + new Invocation("example", new Class[0], Void.class, new Object[0] ); + private Invocation exampleInvocation = new Invocation("example", new Class[] { String.class }, Void.class, new Object[] { "arg1", "arg2" } ); @@ -38,6 +41,12 @@ assertFalse("Should not match name", matcher.matches(exampleInvocation)); } + public void testMatchWhenNoArgumentsOrConstraints() throws Throwable { + InvocationMatcher.Arguments matcher = new InvocationMatcher.Arguments(new Constraint[0]); + + assertTrue("No arguments", matcher.matches(emptyInvocation)); + } + public void testNoMatchWhenTooManyArguments() throws Throwable { InvocationMatcher.Arguments matcher = new InvocationMatcher.Arguments(new Constraint[0]); @@ -52,7 +61,7 @@ assertFalse("Too many arguments", matcher.matches(exampleInvocation)); } - public void testNoMatchWhenAnyArgumentDoesNotMatch() throws Throwable { + public void testNoMatchWhenAnyArgumentDoNotConform() throws Throwable { InvocationMatcher.Arguments matcher = new InvocationMatcher.Arguments( new Constraint[] { C.IS_ANYTHING, C.eq("wrong")} ); @@ -67,5 +76,6 @@ assertTrue("Arguments match", matcher.matches(exampleInvocation)); } + } --- ArgumentsMatcherTest.java DELETED --- |
From: Steve F. <sm...@us...> - 2003-10-08 23:47:19
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv25958/src/core/com/mockobjects/dynamic Modified Files: VoidStub.java CallStub.java Stub.java ThrowStub.java DefaultInvokableFactory.java Added Files: CallOnceStub.java Removed Files: CallOnceExpectation.java CallSignature.java Log Message: Added call once stub and removed old CallOnceExpectation and CallSignature --- NEW FILE: CallOnceStub.java --- /* * Copyright mockobjects.com 08-Oct-2003 */ package com.mockobjects.dynamic; import junit.framework.Assert; public class CallOnceStub extends CallStub { private boolean wasCalled = false; private CallStub delegateStub; public CallOnceStub(CallStub delegateStub) { this.delegateStub = delegateStub; } public String getDescription() { return " Call Once " + delegateStub.getDescription(); } public Object invoke(Invocation invocation) throws Throwable { Assert.assertFalse("should not be called more than once", wasCalled); wasCalled = true; return delegateStub.invoke(invocation); } public void verify() { Assert.assertTrue("should have been called once", wasCalled); } } Index: VoidStub.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/VoidStub.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- VoidStub.java 5 Oct 2003 08:57:27 -0000 1.7 +++ VoidStub.java 8 Oct 2003 23:47:14 -0000 1.8 @@ -4,7 +4,7 @@ package com.mockobjects.dynamic; -public class VoidStub extends CallStub implements Stub { +public class VoidStub extends CallStub { public String getDescription() { return "returns <void>"; Index: CallStub.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/CallStub.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- CallStub.java 20 Aug 2003 21:51:27 -0000 1.6 +++ CallStub.java 8 Oct 2003 23:47:14 -0000 1.7 @@ -3,13 +3,8 @@ */ package com.mockobjects.dynamic; -public abstract class CallStub - implements Invokable +public abstract class CallStub implements Stub { - public boolean matches(Invocation invocation) { - return true; - } - public void verify() { } } Index: Stub.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Stub.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Stub.java 5 Oct 2003 10:10:18 -0000 1.5 +++ Stub.java 8 Oct 2003 23:47:14 -0000 1.6 @@ -25,4 +25,6 @@ * thrown from this method must be in the <code>throws</code> list of the invoked method. */ Object invoke( Invocation invocation ) throws Throwable; + + String getDescription(); } Index: ThrowStub.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/ThrowStub.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- ThrowStub.java 5 Oct 2003 09:28:16 -0000 1.8 +++ ThrowStub.java 8 Oct 2003 23:47:14 -0000 1.9 @@ -5,7 +5,6 @@ public class ThrowStub extends CallStub - implements Stub { private Throwable throwable; Index: DefaultInvokableFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/DefaultInvokableFactory.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- DefaultInvokableFactory.java 5 Oct 2003 09:28:16 -0000 1.7 +++ DefaultInvokableFactory.java 8 Oct 2003 23:47:14 -0000 1.8 @@ -7,8 +7,10 @@ new InvocationMatcher.Arguments(arguments.getConstraints()), new ReturnStub(result)); } - public Invokable createReturnExpectation(String methodName, ArgumentsMatcher constraints, Object result) { - return createCallExpectation(createCallSignature(methodName, constraints, new ReturnStub(result))); + public Invokable createReturnExpectation(String methodName, ArgumentsMatcher arguments, Object result) { + return new InvocationMocker(methodName, + new InvocationMatcher.Arguments(arguments.getConstraints()), + new CallOnceStub(new ReturnStub(result))); } public Invokable createThrowableStub(String methodName, ArgumentsMatcher arguments, Throwable throwable) { @@ -16,8 +18,10 @@ new InvocationMatcher.Arguments(arguments.getConstraints()), new ThrowStub(throwable)); } - public Invokable createThrowableExpectation(String methodName, ArgumentsMatcher constraints, Throwable throwable) { - return createCallExpectation(createCallSignature(methodName, constraints, new ThrowStub(throwable))); + public Invokable createThrowableExpectation(String methodName, ArgumentsMatcher arguments, Throwable throwable) { + return new InvocationMocker(methodName, + new InvocationMatcher.Arguments(arguments.getConstraints()), + new CallOnceStub(new ThrowStub(throwable))); } public Invokable createVoidStub(String methodName, ArgumentsMatcher arguments) { @@ -25,18 +29,9 @@ new InvocationMatcher.Arguments(arguments.getConstraints()), new VoidStub()); } - public Invokable createVoidExpectation(String methodName, ArgumentsMatcher constraints) { - return createCallExpectation(createCallSignature(methodName, constraints, new VoidStub())); - } - - private Invokable createCallExpectation(Invokable callable) { - return new CallOnceExpectation(callable); + public Invokable createVoidExpectation(String methodName, ArgumentsMatcher arguments) { + return new InvocationMocker(methodName, + new InvocationMatcher.Arguments(arguments.getConstraints()), + new CallOnceStub(new VoidStub())); } - - private Invokable createCallSignature(String methodName, ArgumentsMatcher constraints, Invokable callable) { - return new CallSignature( methodName, constraints, callable ); - } - - - } --- CallOnceExpectation.java DELETED --- --- CallSignature.java DELETED --- |
From: Steve F. <sm...@us...> - 2003-10-08 23:47:19
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv25958/src/core/test/mockobjects/dynamic Modified Files: StubTest.java InvocationMockerTest.java Removed Files: CallOnceExpectationTest.java CallSignatureTest.java Log Message: Added call once stub and removed old CallOnceExpectation and CallSignature Index: StubTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/StubTest.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- StubTest.java 20 Aug 2003 21:51:27 -0000 1.6 +++ StubTest.java 8 Oct 2003 23:47:14 -0000 1.7 @@ -3,11 +3,14 @@ */ package test.mockobjects.dynamic; +import junit.framework.AssertionFailedError; import junit.framework.TestCase; +import com.mockobjects.dynamic.*; import com.mockobjects.dynamic.Invocation; import com.mockobjects.dynamic.ReturnStub; import com.mockobjects.dynamic.ThrowStub; +import com.mockobjects.dynamic.VoidStub; public class StubTest extends TestCase { @@ -33,4 +36,32 @@ assertSame( "Should be the same throwable", throwable, t ); } } + + public void testCallOnceStubVerifyFailsIfNotCalled() throws Throwable { + try { + new CallOnceStub(new VoidStub()).verify(); + } catch (AssertionFailedError unused ) { + return; + } + fail("Should have thrown assertion"); + } + + public void testCallOnceStubFailsIfCalledTwice() throws Throwable { + CallOnceStub stub = new CallOnceStub(new VoidStub()); + stub.invoke(invocation); + + try { + stub.invoke(invocation); + } catch (AssertionFailedError unused ) { + return; + } + fail("Should have thrown assertion"); + } + + public void testCallOnceStubVerifiesIfCalledOne() throws Throwable { + CallOnceStub stub = new CallOnceStub(new VoidStub()); + stub.invoke(invocation); + stub.verify(); + } + } Index: InvocationMockerTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/InvocationMockerTest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- InvocationMockerTest.java 5 Oct 2003 10:10:18 -0000 1.4 +++ InvocationMockerTest.java 8 Oct 2003 23:47:14 -0000 1.5 @@ -37,6 +37,10 @@ public void verify() { verifyCalls.inc(); } + + public String getDescription() { + return "MockStub"; + } }; private Invocation invocation = --- CallOnceExpectationTest.java DELETED --- --- CallSignatureTest.java DELETED --- |
Update of /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv25759/src/core/functional/test/mockobjects/dynamic Modified Files: MockTest.java Added Files: VoidMockTest.java MockTestActions.java ThrowableMockTest.java ReturnMockTest.java Log Message: Restructured functional tests to repeat behaviour. --- NEW FILE: VoidMockTest.java --- /* * Copyright mockobjects.com 09-Oct-2003 * */ package functional.test.mockobjects.dynamic; import com.mockobjects.dynamic.Mock; public class VoidMockTest extends MockTest { public interface TargetType { void noParams(); void oneParam(Object aParam); } public class VoidMockTestActions implements MockTestActions { private Mock mockTarget = new Mock(TargetType.class); private TargetType targetType = ((TargetType)mockTarget.proxy()); public void expectNoParams() { mockTarget.expect("noParams"); } public void expectOneParam() { mockTarget.expect("oneParam", "one"); } public void expectNotNoParams() { mockTarget.expect("notNoParams"); } public void callNoParams() { targetType.noParams(); } public void callOneParam() { targetType.oneParam("one"); } public void callOneIncorrectParam() { targetType.oneParam("two"); } public void verifyMock() { mockTarget.verify(); } } public MockTestActions createActions() { return new VoidMockTestActions(); } public void testMethodToMakeTestRunnerNoticeTestCase() {} } --- NEW FILE: MockTestActions.java --- /* * copyright mockobjects.com 08-Oct-2003 */ package functional.test.mockobjects.dynamic; public interface MockTestActions { void expectNoParams(); void expectOneParam(); void expectNotNoParams(); void callNoParams(); void callOneParam(); void callOneIncorrectParam(); void verifyMock(); } --- NEW FILE: ThrowableMockTest.java --- /* * Copyright mockobjects.com 09-Oct-2003 * */ package functional.test.mockobjects.dynamic; import com.mockobjects.dynamic.Mock; public class ThrowableMockTest extends MockTest { public class TargetException extends Exception {}; public interface TargetType { Object noParams() throws TargetException; Object oneParam(Object aParam) throws TargetException; } public class ReturnMockTestActions implements MockTestActions { private Mock mockTarget = new Mock(TargetType.class); private TargetType targetType = ((TargetType)mockTarget.proxy()); public void expectNoParams() { mockTarget.expectAndThrow("noParams", new TargetException()); } public void expectOneParam() { mockTarget.expectAndThrow("oneParam", "one", new TargetException()); } public void expectNotNoParams() { mockTarget.expectAndThrow("notNoParams", new TargetException()); } public void callNoParams() { try { targetType.noParams(); } catch (TargetException expected) { return; } fail("Should have thrown exception"); } public void callOneParam() { try { targetType.oneParam("one"); } catch (TargetException expected) { return; } fail("Should have thrown exception"); } public void callOneIncorrectParam() { try { targetType.oneParam("two"); } catch (TargetException e) { return; // skip } } public void verifyMock() { mockTarget.verify(); } } public MockTestActions createActions() { return new ReturnMockTestActions(); } public void testMethodToMakeTestRunnerNoticeTestCase() {} } --- NEW FILE: ReturnMockTest.java --- /* * Copyright mockobjects.com 09-Oct-2003 * */ package functional.test.mockobjects.dynamic; import com.mockobjects.dynamic.Mock; public class ReturnMockTest extends MockTest { public interface TargetType { Object noParams(); Object oneParam(Object aParam); } public class ThrowableMockTestActions implements MockTestActions { private Mock mockTarget = new Mock(TargetType.class); private TargetType targetType = ((TargetType)mockTarget.proxy()); public void expectNoParams() { mockTarget.expectAndReturn("noParams", "result"); } public void expectOneParam() { mockTarget.expectAndReturn("oneParam", "one", "result"); } public void expectNotNoParams() { mockTarget.expectAndReturn("notNoParams", "result"); } public void callNoParams() { assertEquals("Should be no params result", "result", targetType.noParams()); } public void callOneParam() { assertEquals("Should be one params result", "result", targetType.oneParam("one")); } public void callOneIncorrectParam() { targetType.oneParam("two"); } public void verifyMock() { mockTarget.verify(); } } public MockTestActions createActions() { return new ThrowableMockTestActions(); } public void testMethodToMakeTestRunnerNoticeTestCase() {} } Index: MockTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic/MockTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- MockTest.java 5 Oct 2003 09:28:16 -0000 1.3 +++ MockTest.java 8 Oct 2003 23:45:44 -0000 1.4 @@ -5,57 +5,66 @@ import junit.framework.AssertionFailedError; import junit.framework.TestCase; -import com.mockobjects.dynamic.*; + +import com.mockobjects.dynamic.Mock; /** * High level test of dynamic mock class. */ -public class MockTest extends TestCase { - public class TestException extends Exception {} - public interface TargetType { - void noParams() throws TestException; - void oneParam(Object aParam); - String noParamsWithResult(); - } - - private Mock mockTarget = new Mock(TargetType.class); - private TargetType targetType = ((TargetType)mockTarget.proxy()); +public abstract class MockTest extends TestCase { + private MockTestActions actions; + public abstract MockTestActions createActions(); + + public void setUp() { + actions = createActions(); + } + public void testHasDefaultNameBasedOnMockedType() { - assertEquals("Should have same name", "mockMockTest$TargetType", mockTarget.toString() ); + Mock mock = new Mock(MockTestActions.class); + assertEquals("Should have same name", "mockMockTestActions", mock.toString() ); } public void testCanBeExplicitlyNamed() { - Mock otherMock = new Mock(TargetType.class, "otherMock"); + Mock otherMock = new Mock(MockTestActions.class, "otherMock"); assertEquals("Should have same name", "otherMock", otherMock.toString()); } - public void testPassesIfMockedMethodCalled() throws TestException { - mockTarget.expect("noParams"); - - targetType.noParams(); - - mockTarget.verify(); + public void testPassesIfMockedMethodCalled() { + actions.expectNoParams(); + actions.callNoParams(); + actions.verifyMock(); + } + + public void testFailsIfMockedMethodCalledTwice() { + actions. expectNoParams(); + actions.callNoParams(); + try { + actions.callNoParams(); + fail("Should have throw exception"); + } catch (AssertionFailedError expected) { + return; + } } public void testFailsIfMockedMethodNotCalled() { - mockTarget.expect("noParams"); + actions.expectNoParams(); try { - mockTarget.verify(); + actions.verifyMock(); } catch (AssertionFailedError unused) { return; } fail("Should have thrown exception"); } - public void testFailsImmediatelyIfUnexpectedMethodCalled() throws TestException { - mockTarget.expect("notNoParams"); + public void testFailsImmediatelyIfUnexpectedMethodCalled() { + actions.expectNotNoParams(); try { - targetType.noParams(); + actions.callNoParams(); } catch (AssertionFailedError unused) { return; } @@ -63,36 +72,20 @@ } public void testPassesIfMockedMethodCalledWithParameter() { - mockTarget.expect("oneParam", "one"); - - targetType.oneParam("one"); - - mockTarget.verify(); + actions.expectOneParam(); + actions.callOneParam(); + actions.verifyMock(); } public void testInvocationFailsIfParameterValueIncorrect() { - mockTarget.expect("oneParam", "one"); + actions.expectOneParam(); try { - targetType.oneParam("two"); + actions.callOneIncorrectParam(); } catch (AssertionFailedError unused) { return; } fail("Should have thrown exception"); } - - public void testCanReturnAResult() { - mockTarget.matchAndReturn("noParamsWithResult", "a result"); - - assertEquals("Should be returned result", "a result", targetType.noParamsWithResult()); - } - public void testCanThrowAnExpection() { - mockTarget.matchAndThrow("noParams", new TestException()); - - try { - targetType.noParams(); - fail("Should have thrown text exception"); - } catch (TestException unused ) {}; - } } |
From: Steve F. <sm...@us...> - 2003-10-05 23:45:00
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv19257/src/core/test/mockobjects/dynamic Modified Files: DynamicMockErrorTest.java Log Message: added empty test to avoid confusing junit Index: DynamicMockErrorTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/DynamicMockErrorTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DynamicMockErrorTest.java 4 Oct 2003 22:56:45 -0000 1.1 +++ DynamicMockErrorTest.java 5 Oct 2003 23:44:50 -0000 1.2 @@ -10,5 +10,7 @@ super(name); } - // TODO test message generation based on message and invocation. + public void testMessageGeneration() { + // TODO test message generation based on message and invocation. + } } |
From: Steve F. <sm...@us...> - 2003-10-05 10:10:23
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv8927/src/core/test/mockobjects/dynamic Modified Files: InvocationMockerTest.java Log Message: Made Stub a veifiable. Added tests for delegation from InvocationMocker Index: InvocationMockerTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/InvocationMockerTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- InvocationMockerTest.java 5 Oct 2003 10:02:16 -0000 1.3 +++ InvocationMockerTest.java 5 Oct 2003 10:10:18 -0000 1.4 @@ -3,6 +3,7 @@ */ package test.mockobjects.dynamic; +import com.mockobjects.ExpectationCounter; import com.mockobjects.ExpectationValue; import com.mockobjects.constraint.Constraint; import com.mockobjects.dynamic.*; @@ -11,6 +12,7 @@ import com.mockobjects.dynamic.InvocationMatcher; import com.mockobjects.dynamic.InvocationMocker; import com.mockobjects.util.TestCaseMo; +import com.mockobjects.util.Verifier; public class InvocationMockerTest extends TestCaseMo { private InvocationMatcher matchAll = new InvocationMatcher() { @@ -24,6 +26,19 @@ } }; + public class MockStub implements Stub { + public ExpectationValue stubInvocation = new ExpectationValue("Stub invocation"); + public ExpectationCounter verifyCalls = new ExpectationCounter("Verify calls"); + + public Object invoke( Invocation invocation ) throws Throwable { + stubInvocation.setActual(invocation); + return "stub result"; + } + public void verify() { + verifyCalls.inc(); + } + }; + private Invocation invocation = new Invocation("example", new Class[] { String.class, String.class }, Void.class, new Object[] { "arg1", "arg2"} ); @@ -66,17 +81,16 @@ } public void testInvokeDelegatesToStubObject() throws Throwable { - final ExpectationValue stubInvocation = new ExpectationValue("Stub invocation"); - Stub mockStub = new Stub() { - public Object invoke( Invocation invocation ) throws Throwable { - stubInvocation.setActual(invocation); - return "stub result"; - } - }; - + MockStub mockStub = new MockStub(); + InvocationMocker mocker = new InvocationMocker(new InvocationMatcher[0], mockStub); + + mockStub.stubInvocation.setExpected(invocation); + mockStub.verifyCalls.setExpected(1); + assertEquals("Should be invoke result", "stub result", mocker.invoke(invocation)); + mocker.verify(); - stubInvocation.verify(); + Verifier.verifyObject(mockStub); } } |
From: Steve F. <sm...@us...> - 2003-10-05 10:10:22
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv8927/src/core/com/mockobjects/dynamic Modified Files: InvocationMocker.java Stub.java Log Message: Made Stub a veifiable. Added tests for delegation from InvocationMocker Index: InvocationMocker.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/InvocationMocker.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- InvocationMocker.java 5 Oct 2003 08:57:27 -0000 1.2 +++ InvocationMocker.java 5 Oct 2003 10:10:18 -0000 1.3 @@ -35,6 +35,6 @@ } public void verify() { - + stub.verify(); } } Index: Stub.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Stub.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Stub.java 5 Oct 2003 08:57:27 -0000 1.4 +++ Stub.java 5 Oct 2003 10:10:18 -0000 1.5 @@ -4,11 +4,13 @@ */ package com.mockobjects.dynamic; +import com.mockobjects.Verifiable; + /** * An object that stubs the behaviour of a method invocation on behalf of an * {@link Invokable} object. */ -public interface Stub +public interface Stub extends Verifiable { /** * Processes the invocation. |
From: Steve F. <sm...@us...> - 2003-10-05 10:02:21
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv7790/src/core/test/mockobjects/dynamic Modified Files: InvocationMockerTest.java Log Message: Added test for invoking stub Index: InvocationMockerTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/InvocationMockerTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- InvocationMockerTest.java 5 Oct 2003 08:57:27 -0000 1.2 +++ InvocationMockerTest.java 5 Oct 2003 10:02:16 -0000 1.3 @@ -3,7 +3,9 @@ */ package test.mockobjects.dynamic; +import com.mockobjects.ExpectationValue; import com.mockobjects.constraint.Constraint; +import com.mockobjects.dynamic.*; import com.mockobjects.dynamic.C; import com.mockobjects.dynamic.Invocation; import com.mockobjects.dynamic.InvocationMatcher; @@ -61,5 +63,20 @@ new InvocationMatcher.Arguments( new Constraint[] {C.eq("arg1"), C.eq("not arg2")})}, null); assertFalse("Should not have matched", invocationMocker.matches(invocation)); + } + + public void testInvokeDelegatesToStubObject() throws Throwable { + final ExpectationValue stubInvocation = new ExpectationValue("Stub invocation"); + Stub mockStub = new Stub() { + public Object invoke( Invocation invocation ) throws Throwable { + stubInvocation.setActual(invocation); + return "stub result"; + } + }; + + InvocationMocker mocker = new InvocationMocker(new InvocationMatcher[0], mockStub); + assertEquals("Should be invoke result", "stub result", mocker.invoke(invocation)); + + stubInvocation.verify(); } } |
From: Steve F. <sm...@us...> - 2003-10-05 09:28:21
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/support In directory sc8-pr-cvs1:/tmp/cvs-serv925/src/core/test/mockobjects/dynamic/support Modified Files: MockConstraintMatcher.java Log Message: Converted Mock.matches() to use InvocationMocker. Added more functional tests Index: MockConstraintMatcher.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/support/MockConstraintMatcher.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- MockConstraintMatcher.java 4 Oct 2003 22:56:45 -0000 1.2 +++ MockConstraintMatcher.java 5 Oct 2003 09:28:16 -0000 1.3 @@ -1,6 +1,7 @@ package test.mockobjects.dynamic.support; import com.mockobjects.*; +import com.mockobjects.constraint.Constraint; import com.mockobjects.dynamic.ArgumentsMatcher; public class MockConstraintMatcher implements ArgumentsMatcher{ @@ -39,19 +40,19 @@ myGetConstraintsCalls.setExpected(calls); } - public Object[] getConstraints(){ + public Constraint[] getConstraints(){ myGetConstraintsCalls.inc(); Object nextReturnValue = myActualGetConstraintsReturnValues.getNext(); if (nextReturnValue instanceof ExceptionalReturnValue && ((ExceptionalReturnValue)nextReturnValue).getException() instanceof RuntimeException) throw (RuntimeException)((ExceptionalReturnValue)nextReturnValue).getException(); - return (Object[]) nextReturnValue; + return (Constraint[]) nextReturnValue; } public void setupExceptionGetConstraints(Throwable arg){ myActualGetConstraintsReturnValues.add(new ExceptionalReturnValue(arg)); } - public void setupGetConstraints(Object[] arg){ + public void setupGetConstraints(Constraint[] arg){ myActualGetConstraintsReturnValues.add(arg); } |
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv925/src/core/com/mockobjects/dynamic Modified Files: ReturnStub.java ArgumentsMatcher.java FullArgumentsMatcher.java C.java ThrowStub.java DefaultInvokableFactory.java Log Message: Converted Mock.matches() to use InvocationMocker. Added more functional tests Index: ReturnStub.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/ReturnStub.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ReturnStub.java 20 Aug 2003 21:51:27 -0000 1.7 +++ ReturnStub.java 5 Oct 2003 09:28:15 -0000 1.8 @@ -5,6 +5,7 @@ public class ReturnStub extends CallStub + implements Stub { private Object result; Index: ArgumentsMatcher.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/ArgumentsMatcher.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ArgumentsMatcher.java 4 Oct 2003 22:56:45 -0000 1.1 +++ ArgumentsMatcher.java 5 Oct 2003 09:28:16 -0000 1.2 @@ -3,7 +3,9 @@ */ package com.mockobjects.dynamic; +import com.mockobjects.constraint.Constraint; + public interface ArgumentsMatcher { boolean matches(Object[] args); - Object[] getConstraints(); + Constraint[] getConstraints(); } Index: FullArgumentsMatcher.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/FullArgumentsMatcher.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- FullArgumentsMatcher.java 4 Oct 2003 22:56:45 -0000 1.1 +++ FullArgumentsMatcher.java 5 Oct 2003 09:28:16 -0000 1.2 @@ -36,7 +36,7 @@ return true; } - public Object[] getConstraints() { + public Constraint[] getConstraints() { return constraints; } Index: C.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/C.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- C.java 4 Oct 2003 22:56:45 -0000 1.5 +++ C.java 5 Oct 2003 09:28:16 -0000 1.6 @@ -22,8 +22,13 @@ public static final ArgumentsMatcher NO_ARGS = new FullArgumentsMatcher(new Constraint[0]); public static final ArgumentsMatcher ANY_ARGS = new ArgumentsMatcher() { + final Constraint anyArguments = new IsAnything() { + public String toString() { + return "Any Arguments"; + } + }; public boolean matches(Object[] args) { return true; } - public Object[] getConstraints() { return new String[] {"ANY"};} + public Constraint[] getConstraints() { return new Constraint[] {anyArguments};} }; public static Constraint same( Object o ) { Index: ThrowStub.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/ThrowStub.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ThrowStub.java 20 Aug 2003 21:51:27 -0000 1.7 +++ ThrowStub.java 5 Oct 2003 09:28:16 -0000 1.8 @@ -5,6 +5,7 @@ public class ThrowStub extends CallStub + implements Stub { private Throwable throwable; Index: DefaultInvokableFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/DefaultInvokableFactory.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- DefaultInvokableFactory.java 4 Oct 2003 22:56:45 -0000 1.6 +++ DefaultInvokableFactory.java 5 Oct 2003 09:28:16 -0000 1.7 @@ -2,22 +2,28 @@ public class DefaultInvokableFactory implements InvokableFactory { - public Invokable createReturnStub(String methodName, ArgumentsMatcher constraints, Object result) { - return createCallSignature(methodName, constraints, new ReturnStub(result)); + public Invokable createReturnStub(String methodName, ArgumentsMatcher arguments, Object result) { + return new InvocationMocker(methodName, + new InvocationMatcher.Arguments(arguments.getConstraints()), + new ReturnStub(result)); } public Invokable createReturnExpectation(String methodName, ArgumentsMatcher constraints, Object result) { return createCallExpectation(createCallSignature(methodName, constraints, new ReturnStub(result))); } - public Invokable createThrowableStub(String methodName, ArgumentsMatcher constraints, Throwable throwable) { - return createCallSignature(methodName, constraints, new ThrowStub(throwable)); + public Invokable createThrowableStub(String methodName, ArgumentsMatcher arguments, Throwable throwable) { + return new InvocationMocker(methodName, + new InvocationMatcher.Arguments(arguments.getConstraints()), + new ThrowStub(throwable)); } public Invokable createThrowableExpectation(String methodName, ArgumentsMatcher constraints, Throwable throwable) { return createCallExpectation(createCallSignature(methodName, constraints, new ThrowStub(throwable))); } - public Invokable createVoidStub(String methodName, ArgumentsMatcher constraints) { - return createCallSignature(methodName, constraints, new VoidStub()); + public Invokable createVoidStub(String methodName, ArgumentsMatcher arguments) { + return new InvocationMocker(methodName, + new InvocationMatcher.Arguments(arguments.getConstraints()), + new VoidStub()); } public Invokable createVoidExpectation(String methodName, ArgumentsMatcher constraints) { return createCallExpectation(createCallSignature(methodName, constraints, new VoidStub())); |
From: Steve F. <sm...@us...> - 2003-10-05 09:28:21
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv925/src/core/functional/test/mockobjects/dynamic Modified Files: MockTest.java Log Message: Converted Mock.matches() to use InvocationMocker. Added more functional tests Index: MockTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/functional/test/mockobjects/dynamic/MockTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- MockTest.java 4 Oct 2003 22:54:48 -0000 1.2 +++ MockTest.java 5 Oct 2003 09:28:16 -0000 1.3 @@ -11,9 +11,11 @@ * High level test of dynamic mock class. */ public class MockTest extends TestCase { + public class TestException extends Exception {} public interface TargetType { - void noParams(); + void noParams() throws TestException; void oneParam(Object aParam); + String noParamsWithResult(); } private Mock mockTarget = new Mock(TargetType.class); @@ -30,7 +32,7 @@ assertEquals("Should have same name", "otherMock", otherMock.toString()); } - public void testPassesIfMockedMethodCalled() { + public void testPassesIfMockedMethodCalled() throws TestException { mockTarget.expect("noParams"); targetType.noParams(); @@ -49,7 +51,7 @@ fail("Should have thrown exception"); } - public void testFailsImmediatelyIfUnexpectedMethodCalled() { + public void testFailsImmediatelyIfUnexpectedMethodCalled() throws TestException { mockTarget.expect("notNoParams"); try { @@ -79,5 +81,18 @@ fail("Should have thrown exception"); } - + public void testCanReturnAResult() { + mockTarget.matchAndReturn("noParamsWithResult", "a result"); + + assertEquals("Should be returned result", "a result", targetType.noParamsWithResult()); + } + + public void testCanThrowAnExpection() { + mockTarget.matchAndThrow("noParams", new TestException()); + + try { + targetType.noParams(); + fail("Should have thrown text exception"); + } catch (TestException unused ) {}; + } } |
From: Steve F. <sm...@us...> - 2003-10-05 08:57:32
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv29646/src/core/com/mockobjects/dynamic Modified Files: InvocationMatcher.java VoidStub.java InvocationMocker.java Stub.java Log Message: Extended InvocationMatcher and InvocationMocker Index: InvocationMatcher.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/InvocationMatcher.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- InvocationMatcher.java 4 Oct 2003 22:56:45 -0000 1.1 +++ InvocationMatcher.java 5 Oct 2003 08:57:27 -0000 1.2 @@ -3,11 +3,15 @@ */ package com.mockobjects.dynamic; +import java.util.List; + import com.mockobjects.constraint.Constraint; import com.mockobjects.constraint.IsEqual; public interface InvocationMatcher { + boolean matches(Invocation invocation); + public class MethodName implements InvocationMatcher { private Constraint constraint; @@ -22,4 +26,27 @@ return constraint.eval(invocation.getMethodName()); } } + + public class Arguments implements InvocationMatcher { + private Constraint[] constraints; + + public Arguments(Constraint[] constraints) { + Arguments.this.constraints = constraints; + } + + public boolean matches(Invocation invocation) { + return constraints.length == invocation.getParameterValues().size() + && matchesValues(invocation.getParameterValues()); + } + + private boolean matchesValues(List list) { + for (int i = 0; i < constraints.length; ++i) { + if (!constraints[i].eval(list.get(i))) { + return false; + } + } + return true; + } + } + } Index: VoidStub.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/VoidStub.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- VoidStub.java 20 Aug 2003 21:51:27 -0000 1.6 +++ VoidStub.java 5 Oct 2003 08:57:27 -0000 1.7 @@ -4,7 +4,7 @@ package com.mockobjects.dynamic; -public class VoidStub extends CallStub { +public class VoidStub extends CallStub implements Stub { public String getDescription() { return "returns <void>"; Index: InvocationMocker.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/InvocationMocker.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- InvocationMocker.java 4 Oct 2003 22:56:45 -0000 1.1 +++ InvocationMocker.java 5 Oct 2003 08:57:27 -0000 1.2 @@ -8,6 +8,11 @@ private InvocationMatcher[] matchers; private Stub stub; + public InvocationMocker(String methodName, InvocationMatcher.Arguments arguments, Stub stub) { + this(new InvocationMatcher[] {new InvocationMatcher.MethodName(methodName), arguments}, + stub); + } + public InvocationMocker(InvocationMatcher[] matchers, Stub stub) { this.matchers = matchers; this.stub = stub; @@ -26,7 +31,7 @@ } public Object invoke(Invocation invocation) throws Throwable { - return stub.stub(invocation); + return stub.invoke(invocation); } public void verify() { Index: Stub.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Stub.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Stub.java 2 Oct 2003 22:55:32 -0000 1.3 +++ Stub.java 5 Oct 2003 08:57:27 -0000 1.4 @@ -22,5 +22,5 @@ * An exception to be thrown to the caller, if not returning a value. A checked exception * thrown from this method must be in the <code>throws</code> list of the invoked method. */ - Object stub( Invocation invocation ) throws Throwable; + Object invoke( Invocation invocation ) throws Throwable; } |
From: Steve F. <sm...@us...> - 2003-10-05 08:57:32
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv29646/src/core/test/mockobjects/dynamic Modified Files: InvocationMockerTest.java InvocationMatcherTest.java Log Message: Extended InvocationMatcher and InvocationMocker Index: InvocationMockerTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/InvocationMockerTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- InvocationMockerTest.java 4 Oct 2003 22:56:45 -0000 1.1 +++ InvocationMockerTest.java 5 Oct 2003 08:57:27 -0000 1.2 @@ -3,6 +3,8 @@ */ package test.mockobjects.dynamic; +import com.mockobjects.constraint.Constraint; +import com.mockobjects.dynamic.C; import com.mockobjects.dynamic.Invocation; import com.mockobjects.dynamic.InvocationMatcher; import com.mockobjects.dynamic.InvocationMocker; @@ -20,7 +22,9 @@ } }; - private Invocation invocation = new Invocation("example", new Class[0], Void.class, new Object[0]); + private Invocation invocation = + new Invocation("example", new Class[] { String.class, String.class }, Void.class, + new Object[] { "arg1", "arg2"} ); public InvocationMockerTest(String name) { @@ -40,5 +44,22 @@ assertFalse("Should not have matched", invocationMocker.matches(invocation)); } + + public void testExampleInvocationMatches() { + InvocationMocker invocationMocker = new InvocationMocker( + new InvocationMatcher[] { + new InvocationMatcher.MethodName("example"), + new InvocationMatcher.Arguments( new Constraint[] {C.eq("arg1"), C.eq("arg2")})}, null); + + assertTrue("Should have matched", invocationMocker.matches(invocation)); + } + public void testExampleInvocationDoesNotMatch() { + InvocationMocker invocationMocker = new InvocationMocker( + new InvocationMatcher[] { + new InvocationMatcher.MethodName("example"), + new InvocationMatcher.Arguments( new Constraint[] {C.eq("arg1"), C.eq("not arg2")})}, null); + + assertFalse("Should not have matched", invocationMocker.matches(invocation)); + } } Index: InvocationMatcherTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/InvocationMatcherTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- InvocationMatcherTest.java 4 Oct 2003 22:56:45 -0000 1.1 +++ InvocationMatcherTest.java 5 Oct 2003 08:57:27 -0000 1.2 @@ -3,13 +3,16 @@ */ package test.mockobjects.dynamic; +import com.mockobjects.constraint.Constraint; import com.mockobjects.dynamic.C; import com.mockobjects.dynamic.Invocation; import com.mockobjects.dynamic.InvocationMatcher; import com.mockobjects.util.TestCaseMo; public class InvocationMatcherTest extends TestCaseMo { - private Invocation invocation = new Invocation("example", new Class[0], Void.class, new Object[0]); + private Invocation exampleInvocation = + new Invocation("example", new Class[] { String.class }, Void.class, + new Object[] { "arg1", "arg2" } ); public InvocationMatcherTest(String name) { super(name); @@ -17,22 +20,52 @@ public void testNameMatchesWhenConstraintIsAnything() { InvocationMatcher.MethodName matcher = new InvocationMatcher.MethodName(C.IS_ANYTHING); - assertTrue("Should match name", matcher.matches(invocation)); + assertTrue("Should match name", matcher.matches(exampleInvocation)); } public void testNameMatchesWhenConstraintIsNothing() { InvocationMatcher.MethodName matcher = new InvocationMatcher.MethodName(C.not(C.IS_ANYTHING)); - assertFalse("Should not match name", matcher.matches(invocation)); + assertFalse("Should not match name", matcher.matches(exampleInvocation)); } public void testNameMatchesGivenString() { InvocationMatcher.MethodName matcher = new InvocationMatcher.MethodName("example"); - assertTrue("Should match name", matcher.matches(invocation)); + assertTrue("Should match name", matcher.matches(exampleInvocation)); } - public void testNameDoesNotMatcheIncorrectString() { + public void testNameDoesNotMatchIncorrectString() { InvocationMatcher.MethodName matcher = new InvocationMatcher.MethodName("not an example"); - assertFalse("Should not match name", matcher.matches(invocation)); + assertFalse("Should not match name", matcher.matches(exampleInvocation)); } + public void testNoMatchWhenTooManyArguments() throws Throwable { + InvocationMatcher.Arguments matcher = new InvocationMatcher.Arguments(new Constraint[0]); + + assertFalse("Too many arguments", matcher.matches(exampleInvocation)); + } + + public void testNoMatchWhenTooFewArguments() throws Throwable { + InvocationMatcher.Arguments matcher = + new InvocationMatcher.Arguments( + new Constraint[] { C.IS_ANYTHING, C.IS_ANYTHING, C.IS_ANYTHING} ); + + assertFalse("Too many arguments", matcher.matches(exampleInvocation)); + } + + public void testNoMatchWhenAnyArgumentDoesNotMatch() throws Throwable { + InvocationMatcher.Arguments matcher = + new InvocationMatcher.Arguments( + new Constraint[] { C.IS_ANYTHING, C.eq("wrong")} ); + + assertFalse("Incorrect argument", matcher.matches(exampleInvocation)); + } + + public void testArgumentsMatchWhenAllValuesMatch() throws Throwable { + InvocationMatcher.Arguments matcher = + new InvocationMatcher.Arguments( + new Constraint[] { C.IS_ANYTHING, C.eq("arg2")} ); + + assertTrue("Arguments match", matcher.matches(exampleInvocation)); + } + } |
From: Steve F. <sm...@us...> - 2003-10-04 22:56:49
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv20912/src/core/com/mockobjects/dynamic Modified Files: LIFOInvocationDispatcher.java Mock.java C.java InvokableFactory.java CallSignature.java DefaultInvokableFactory.java Added Files: FullArgumentsMatcher.java ArgumentsMatcher.java InvocationMatcher.java InvocationMocker.java Removed Files: ConstraintMatcher.java FullConstraintMatcher.java Log Message: Started implementing new dynamic mock structure. Introduced InvocationMocker. and InvocationMatcher Renamed ConstraintMatcher to ArgumentsMatcher --- NEW FILE: FullArgumentsMatcher.java --- /* * Created on 20-Apr-03 */ package com.mockobjects.dynamic; import com.mockobjects.constraint.Constraint; public class FullArgumentsMatcher implements ArgumentsMatcher { private Constraint[] constraints; public FullArgumentsMatcher(Constraint[] constraints) { this.constraints = constraints; } public FullArgumentsMatcher(Constraint c1) { this(new Constraint[] {c1}); } public FullArgumentsMatcher(Constraint c1, Constraint c2) { this(new Constraint[] {c1, c2}); } public FullArgumentsMatcher(Constraint c1, Constraint c2, Constraint c3) { this(new Constraint[] {c1, c2, c3}); } public boolean matches(Object[] args) { if( args.length != constraints.length ) return false; for (int i = 0; i < args.length; i++) { if( !constraints[i].eval(args[i]) ) return false; } return true; } public Object[] getConstraints() { return constraints; } //For testing public boolean equals(Object o) { if(o instanceof ArgumentsMatcher) { return matches(((ArgumentsMatcher)o).getConstraints()); } else { return false; } } } --- NEW FILE: ArgumentsMatcher.java --- /* * Copyright mockobjects.com 20-Apr-03 */ package com.mockobjects.dynamic; public interface ArgumentsMatcher { boolean matches(Object[] args); Object[] getConstraints(); } --- NEW FILE: InvocationMatcher.java --- /* * Copyright Mockobjects.com 04-Oct-2003 */ package com.mockobjects.dynamic; import com.mockobjects.constraint.Constraint; import com.mockobjects.constraint.IsEqual; public interface InvocationMatcher { boolean matches(Invocation invocation); public class MethodName implements InvocationMatcher { private Constraint constraint; public MethodName(Constraint constraint) { this.constraint = constraint; } public MethodName(String methodName) { this(new IsEqual(methodName)); } public boolean matches(Invocation invocation) { return constraint.eval(invocation.getMethodName()); } } } --- NEW FILE: InvocationMocker.java --- /* * Copyright Mockobjects.com 04-Oct-2003 */ package com.mockobjects.dynamic; public class InvocationMocker implements Invokable { private InvocationMatcher[] matchers; private Stub stub; public InvocationMocker(InvocationMatcher[] matchers, Stub stub) { this.matchers = matchers; this.stub = stub; } public String getDescription() { return null; } public boolean matches(Invocation invocation) { for (int i = 0; i < matchers.length; ++i) { if (! matchers[i].matches(invocation)) { return false; } } return true; } public Object invoke(Invocation invocation) throws Throwable { return stub.stub(invocation); } public void verify() { } } Index: LIFOInvocationDispatcher.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/LIFOInvocationDispatcher.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- LIFOInvocationDispatcher.java 11 Sep 2003 21:39:01 -0000 1.1 +++ LIFOInvocationDispatcher.java 4 Oct 2003 22:56:45 -0000 1.2 @@ -23,7 +23,7 @@ return invokable.invoke(invocation); } } - throw new DynamicMockError(invocation, "Nothing matches on this mock"); + throw new DynamicMockError(invocation, "No match found"); } public void add(Invokable invokable) { Index: Mock.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Mock.java,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- Mock.java 2 Oct 2003 23:42:06 -0000 1.40 +++ Mock.java 4 Oct 2003 22:56:45 -0000 1.41 @@ -21,13 +21,17 @@ this(mockedClass, CoreMock.mockNameFromClass(mockedClass)); } - private ConstraintMatcher createConstraintMatcher(Object constraintArg) { + public String toString() { + return coreMock.toString(); + } + + private ArgumentsMatcher createConstraintMatcher(Object constraintArg) { // Can't overload this method as callee had an Object parameter, and java // doesn't do a secondary dispatch on the true underlying type if (constraintArg instanceof Constraint[]) { // to support possible legacy usage of new Contraint[] {...} - return new FullConstraintMatcher((Constraint[])constraintArg); + return new FullArgumentsMatcher((Constraint[])constraintArg); } else if (constraintArg instanceof Constraint) { // to support usage of C.lt(5) type constraints return C.args((Constraint)constraintArg); @@ -37,27 +41,27 @@ } } - public void expect(String methodName, ConstraintMatcher args) { + public void expect(String methodName, ArgumentsMatcher args) { coreMock.add(callableFactory.createVoidExpectation(methodName, args)); } - public void expectAndReturn(String methodName, ConstraintMatcher args, Object result) { + public void expectAndReturn(String methodName, ArgumentsMatcher args, Object result) { coreMock.add(callableFactory.createReturnExpectation(methodName, args, result)); } - public void expectAndThrow(String methodName, ConstraintMatcher args, Throwable throwable) { + public void expectAndThrow(String methodName, ArgumentsMatcher args, Throwable throwable) { coreMock.add(callableFactory.createThrowableExpectation(methodName, args, throwable)); } - public void match(String methodName, ConstraintMatcher args) { + public void match(String methodName, ArgumentsMatcher args) { coreMock.add(callableFactory.createVoidStub(methodName, args)); } - public void matchAndReturn(String methodName, ConstraintMatcher args, Object result) { + public void matchAndReturn(String methodName, ArgumentsMatcher args, Object result) { coreMock.add(callableFactory.createReturnStub(methodName, args, result)); } - public void matchAndThrow(String methodName, ConstraintMatcher args, Throwable throwable) { + public void matchAndThrow(String methodName, ArgumentsMatcher args, Throwable throwable) { coreMock.add(callableFactory.createThrowableStub(methodName, args, throwable)); } @@ -97,11 +101,11 @@ expectAndReturn(methodName, singleEqualArg, new Integer(result)); } - public void expectAndReturn(String methodName, ConstraintMatcher args, boolean result) { + public void expectAndReturn(String methodName, ArgumentsMatcher args, boolean result) { expectAndReturn(methodName, args, new Boolean(result)); } - public void expectAndReturn(String methodName, ConstraintMatcher args, int result) { + public void expectAndReturn(String methodName, ArgumentsMatcher args, int result) { expectAndReturn(methodName, args, new Integer(result)); } @@ -161,11 +165,11 @@ matchAndReturn(methodName, singleEqualArg, new Integer(result)); } - public void matchAndReturn(String methodName, ConstraintMatcher args, boolean result) { + public void matchAndReturn(String methodName, ArgumentsMatcher args, boolean result) { matchAndReturn(methodName, args, new Boolean(result)); } - public void matchAndReturn(String methodName, ConstraintMatcher args, int result) { + public void matchAndReturn(String methodName, ArgumentsMatcher args, int result) { matchAndReturn(methodName, args, new Integer(result)); } @@ -187,7 +191,7 @@ /** @deprecated @see expect */ - public void expectVoid(String methodName, ConstraintMatcher args) { + public void expectVoid(String methodName, ArgumentsMatcher args) { this.expect(methodName, args); } Index: C.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/C.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- C.java 6 Jul 2003 02:27:06 -0000 1.4 +++ C.java 4 Oct 2003 22:56:45 -0000 1.5 @@ -19,9 +19,9 @@ public static final Constraint IS_ZERO = eq(new Integer(0)); public static final Constraint IS_NOT_ZERO = not(IS_ZERO); - public static final ConstraintMatcher NO_ARGS = new FullConstraintMatcher(new Constraint[0]); - public static final ConstraintMatcher ANY_ARGS = - new ConstraintMatcher() { + public static final ArgumentsMatcher NO_ARGS = new FullArgumentsMatcher(new Constraint[0]); + public static final ArgumentsMatcher ANY_ARGS = + new ArgumentsMatcher() { public boolean matches(Object[] args) { return true; } public Object[] getConstraints() { return new String[] {"ANY"};} }; @@ -34,15 +34,15 @@ return new IsEqual(o); } - public static ConstraintMatcher eq( Object arg0, Object arg1 ) { + public static ArgumentsMatcher eq( Object arg0, Object arg1 ) { return args(eq(arg0), eq(arg1)); } - public static ConstraintMatcher eq( Object arg0, Object arg1, Object arg2 ) { + public static ArgumentsMatcher eq( Object arg0, Object arg1, Object arg2 ) { return args(eq(arg0), eq(arg1), eq(arg2)); } - public static ConstraintMatcher eq( Object arg0, Object arg1, Object arg2, Object arg3 ) { + public static ArgumentsMatcher eq( Object arg0, Object arg1, Object arg2, Object arg3 ) { return args(eq(arg0), eq(arg1), eq(arg2), eq(arg3)); } @@ -111,32 +111,32 @@ /* Helper methods for succinctly constructing Constraint arrays */ - public static ConstraintMatcher args() { + public static ArgumentsMatcher args() { return NO_ARGS; } - public static ConstraintMatcher args(Constraint p) { - return new FullConstraintMatcher(new Constraint[]{p}); + public static ArgumentsMatcher args(Constraint p) { + return new FullArgumentsMatcher(new Constraint[]{p}); } - public static ConstraintMatcher args(Constraint p1, Constraint p2) { - return new FullConstraintMatcher(new Constraint[]{p1, p2}); + public static ArgumentsMatcher args(Constraint p1, Constraint p2) { + return new FullArgumentsMatcher(new Constraint[]{p1, p2}); } - public static ConstraintMatcher args(Constraint p1, Constraint p2, Constraint p3) { - return new FullConstraintMatcher(new Constraint[]{p1, p2, p3}); + public static ArgumentsMatcher args(Constraint p1, Constraint p2, Constraint p3) { + return new FullArgumentsMatcher(new Constraint[]{p1, p2, p3}); } - public static ConstraintMatcher args(Constraint p1, Constraint p2, Constraint p3, Constraint p4) { - return new FullConstraintMatcher(new Constraint[]{p1, p2, p3, p4}); + public static ArgumentsMatcher args(Constraint p1, Constraint p2, Constraint p3, Constraint p4) { + return new FullArgumentsMatcher(new Constraint[]{p1, p2, p3, p4}); } - public static ConstraintMatcher anyArgs( int argCount) { + public static ArgumentsMatcher anyArgs( int argCount) { Constraint[] constraints = new Constraint[argCount]; for (int i = 0; i < constraints.length; i++) { constraints[i] = new IsAnything(); } - return new FullConstraintMatcher(constraints); + return new FullArgumentsMatcher(constraints); } } Index: InvokableFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/InvokableFactory.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- InvokableFactory.java 2 Oct 2003 23:45:28 -0000 1.5 +++ InvokableFactory.java 4 Oct 2003 22:56:45 -0000 1.6 @@ -1,10 +1,10 @@ package com.mockobjects.dynamic; public interface InvokableFactory { - Invokable createReturnStub( String methodName, ConstraintMatcher constraints, Object result ); - Invokable createReturnExpectation( String methodName, ConstraintMatcher constraints, Object result ); - Invokable createThrowableStub( String methodName, ConstraintMatcher constraints, Throwable throwable); - Invokable createThrowableExpectation( String methodName, ConstraintMatcher constraints, Throwable throwable); - Invokable createVoidStub ( String methodName, ConstraintMatcher constraints); - Invokable createVoidExpectation ( String methodName, ConstraintMatcher constraints); + Invokable createReturnStub( String methodName, ArgumentsMatcher constraints, Object result ); + Invokable createReturnExpectation( String methodName, ArgumentsMatcher constraints, Object result ); + Invokable createThrowableStub( String methodName, ArgumentsMatcher constraints, Throwable throwable); + Invokable createThrowableExpectation( String methodName, ArgumentsMatcher constraints, Throwable throwable); + Invokable createVoidStub ( String methodName, ArgumentsMatcher constraints); + Invokable createVoidExpectation ( String methodName, ArgumentsMatcher constraints); } Index: CallSignature.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/CallSignature.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- CallSignature.java 20 Aug 2003 21:51:27 -0000 1.8 +++ CallSignature.java 4 Oct 2003 22:56:45 -0000 1.9 @@ -3,10 +3,10 @@ public class CallSignature implements Invokable { private String methodName; - private ConstraintMatcher constraints; + private ArgumentsMatcher constraints; private Invokable delegateCall; - public CallSignature( String methodName, ConstraintMatcher constraints, Invokable delegateCall ) { + public CallSignature( String methodName, ArgumentsMatcher constraints, Invokable delegateCall ) { this.methodName = methodName; this.constraints = constraints; this.delegateCall = delegateCall; Index: DefaultInvokableFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/DefaultInvokableFactory.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DefaultInvokableFactory.java 2 Oct 2003 23:45:28 -0000 1.5 +++ DefaultInvokableFactory.java 4 Oct 2003 22:56:45 -0000 1.6 @@ -2,24 +2,24 @@ public class DefaultInvokableFactory implements InvokableFactory { - public Invokable createReturnStub(String methodName, ConstraintMatcher constraints, Object result) { + public Invokable createReturnStub(String methodName, ArgumentsMatcher constraints, Object result) { return createCallSignature(methodName, constraints, new ReturnStub(result)); } - public Invokable createReturnExpectation(String methodName, ConstraintMatcher constraints, Object result) { + public Invokable createReturnExpectation(String methodName, ArgumentsMatcher constraints, Object result) { return createCallExpectation(createCallSignature(methodName, constraints, new ReturnStub(result))); } - public Invokable createThrowableStub(String methodName, ConstraintMatcher constraints, Throwable throwable) { + public Invokable createThrowableStub(String methodName, ArgumentsMatcher constraints, Throwable throwable) { return createCallSignature(methodName, constraints, new ThrowStub(throwable)); } - public Invokable createThrowableExpectation(String methodName, ConstraintMatcher constraints, Throwable throwable) { + public Invokable createThrowableExpectation(String methodName, ArgumentsMatcher constraints, Throwable throwable) { return createCallExpectation(createCallSignature(methodName, constraints, new ThrowStub(throwable))); } - public Invokable createVoidStub(String methodName, ConstraintMatcher constraints) { + public Invokable createVoidStub(String methodName, ArgumentsMatcher constraints) { return createCallSignature(methodName, constraints, new VoidStub()); } - public Invokable createVoidExpectation(String methodName, ConstraintMatcher constraints) { + public Invokable createVoidExpectation(String methodName, ArgumentsMatcher constraints) { return createCallExpectation(createCallSignature(methodName, constraints, new VoidStub())); } @@ -27,7 +27,7 @@ return new CallOnceExpectation(callable); } - private Invokable createCallSignature(String methodName, ConstraintMatcher constraints, Invokable callable) { + private Invokable createCallSignature(String methodName, ArgumentsMatcher constraints, Invokable callable) { return new CallSignature( methodName, constraints, callable ); } --- ConstraintMatcher.java DELETED --- --- FullConstraintMatcher.java DELETED --- |
From: Steve F. <sm...@us...> - 2003-10-04 22:56:49
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/support In directory sc8-pr-cvs1:/tmp/cvs-serv20912/src/core/test/mockobjects/dynamic/support Modified Files: MockInvokableFactory.java MockConstraintMatcher.java Log Message: Started implementing new dynamic mock structure. Introduced InvocationMocker. and InvocationMatcher Renamed ConstraintMatcher to ArgumentsMatcher Index: MockInvokableFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/support/MockInvokableFactory.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MockInvokableFactory.java 2 Oct 2003 23:47:22 -0000 1.7 +++ MockInvokableFactory.java 4 Oct 2003 22:56:45 -0000 1.8 @@ -6,7 +6,7 @@ import com.mockobjects.ExpectationList; import com.mockobjects.MockObject; -import com.mockobjects.dynamic.ConstraintMatcher; +import com.mockobjects.dynamic.ArgumentsMatcher; import com.mockobjects.dynamic.Invokable; import com.mockobjects.dynamic.InvokableFactory; @@ -21,7 +21,7 @@ public void expectCreateReturnStub( String methodName, - ConstraintMatcher constraints, + ArgumentsMatcher constraints, Object result) { parameters.addExpectedMany( @@ -30,7 +30,7 @@ public Invokable createReturnStub( String methodName, - ConstraintMatcher constraints, + ArgumentsMatcher constraints, Object result) { parameters.addActualMany( @@ -40,14 +40,14 @@ public void expectCreateReturnExpectation( String methodName, - ConstraintMatcher constraints, + ArgumentsMatcher constraints, Object result) { parameters.addExpectedMany( new Object[] { "createReturnExpectation", methodName, constraints, result }); } - public Invokable createReturnExpectation(String methodName, ConstraintMatcher constraints, Object result) { + public Invokable createReturnExpectation(String methodName, ArgumentsMatcher constraints, Object result) { parameters.addActualMany( new Object[] { "createReturnExpectation", methodName, constraints, result }); return createInvokableResult; @@ -55,7 +55,7 @@ public void expectCreateThrowableStub( String methodName, - ConstraintMatcher constraints, + ArgumentsMatcher constraints, Throwable throwable) { parameters.addExpectedMany( @@ -64,7 +64,7 @@ public Invokable createThrowableStub( String methodName, - ConstraintMatcher constraints, + ArgumentsMatcher constraints, Throwable throwable) { parameters.addActualMany( @@ -74,21 +74,21 @@ public void expectCreateThrowableExpectation( String methodName, - ConstraintMatcher constraints, + ArgumentsMatcher constraints, Throwable throwable) { parameters.addExpectedMany( new Object[] { "createThrowableExpectation", methodName, constraints, throwable }); } - public Invokable createThrowableExpectation(String methodName, ConstraintMatcher constraints, Throwable throwable) { + public Invokable createThrowableExpectation(String methodName, ArgumentsMatcher constraints, Throwable throwable) { parameters.addActualMany( new Object[] { "createThrowableExpectation", methodName, constraints, throwable }); return createInvokableResult; } public void expectCreateVoidCallable( String methodName, - ConstraintMatcher constraints) + ArgumentsMatcher constraints) { parameters.addExpectedMany( new Object[] { "createVoidStub", methodName, constraints }); @@ -96,7 +96,7 @@ public Invokable createVoidStub( String methodName, - ConstraintMatcher constraints) + ArgumentsMatcher constraints) { parameters.addActualMany( new Object[] { "createVoidStub", methodName, constraints }); @@ -105,13 +105,13 @@ public void expectCreateVoidExpectation( String methodName, - ConstraintMatcher constraints) + ArgumentsMatcher constraints) { parameters.addExpectedMany( new Object[] { "createVoidExpectation", methodName, constraints }); } - public Invokable createVoidExpectation(String methodName, ConstraintMatcher constraints) { + public Invokable createVoidExpectation(String methodName, ArgumentsMatcher constraints) { parameters.addActualMany( new Object[] { "createVoidExpectation", methodName, constraints }); return createInvokableResult; Index: MockConstraintMatcher.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic/support/MockConstraintMatcher.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- MockConstraintMatcher.java 23 Sep 2003 23:04:33 -0000 1.1 +++ MockConstraintMatcher.java 4 Oct 2003 22:56:45 -0000 1.2 @@ -1,9 +1,9 @@ package test.mockobjects.dynamic.support; import com.mockobjects.*; -import com.mockobjects.dynamic.ConstraintMatcher; +import com.mockobjects.dynamic.ArgumentsMatcher; -public class MockConstraintMatcher implements ConstraintMatcher{ +public class MockConstraintMatcher implements ArgumentsMatcher{ private ExpectationCounter myMatchesCalls = new ExpectationCounter("MockConstraintMatcher.matches(Object[])"); private ReturnValues myActualMatchesReturnValues = new ReturnValues("MockConstraintMatcher.matches(Object[])", true); private ExpectationList myMatchesParameter0Values = new ExpectationList("MockConstraintMatcher.matches(Object[]) java.lang.Object"); |