Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv6154/core/com/mockobjects/dynamic Modified Files: Tag: DynamicMockExperiment CallSet.java Mock.java CallMatch.java C.java CallSequence.java Added Files: Tag: DynamicMockExperiment DynamicUtil.java Log Message: Fixed proxy error reporting when used as an expectation --- NEW FILE: DynamicUtil.java --- /* * Created on 16-Apr-2003 */ package com.mockobjects.dynamic; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class DynamicUtil { public static String getProxyName(Object element) { if(Proxy.isProxyClass(element.getClass())) { try { Method mockNameMethod = Mock.class.getDeclaredMethod("getMockName", new Class[0]); Object result = Proxy.getInvocationHandler(element).invoke(element, mockNameMethod, new Object[0]); return result.toString(); } catch (Throwable e) { return element.getClass().getName(); } } return element.toString(); } public static String methodToString( String name, Object[] args ) { StringBuffer buf = new StringBuffer(); buf.append(name); buf.append("("); buf.append(DynamicUtil.join(args)); buf.append(")"); return buf.toString(); } public static String join( Object[] elements ) { StringBuffer buf = new StringBuffer(); for (int i = 0; i < elements.length; i++) { if( i > 0 ) buf.append(", "); buf.append( "<" ); Object element = elements[i]; buf.append(DynamicUtil.getProxyName(element)); buf.append( ">" ); } return buf.toString(); } } Index: CallSet.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Attic/CallSet.java,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -r1.1.2.7 -r1.1.2.8 --- CallSet.java 14 Apr 2003 08:46:25 -0000 1.1.2.7 +++ CallSet.java 16 Apr 2003 16:31:43 -0000 1.1.2.8 @@ -32,7 +32,7 @@ StringBuffer buf = new StringBuffer(); buf.append("Unexpected call to "); - buf.append(AssertMo.methodToString(methodName, args)); + buf.append(DynamicUtil.methodToString(methodName, args)); buf.append("\n"); buf.append("Expected "); buf.append(getDescription()); Index: Mock.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Mock.java,v retrieving revision 1.16.2.5 retrieving revision 1.16.2.6 diff -u -r1.16.2.5 -r1.16.2.6 --- Mock.java 15 Apr 2003 22:22:58 -0000 1.16.2.5 +++ Mock.java 16 Apr 2003 16:31:43 -0000 1.16.2.6 @@ -28,7 +28,7 @@ } public Mock(Class mockedClass, String name) { - this(new DefaultCallFactory(), new CallSet(), mockedClass, mockNameFromClass(mockedClass)); + this(new DefaultCallFactory(), new CallSet(), mockedClass, name); } public Mock(Class mockedClass) { @@ -234,5 +234,28 @@ */ public void expectAndThrow(String methodName, CallSequence deprecated, Throwable throwable) { throw new AssertionFailedError("method is deprecated! Use: new OrderedMock() instead..."); + } + + /** @deprecated @see expect + */ + public void expectVoid(String methodName, Constraint[] args) { + this.expect(methodName, args); + } + + /** @deprecated @see expect + */ + public void expectVoid(String methodName, Object equalArg) { + this.expect(methodName,equalArg); + } + + /** @deprecated @see expect + */ + public void expectVoid(String methodName) { + this.expect(methodName); + } + + /** @deprecated Not required, as if methodName is called, you will get a an exception + */ + public void expectNotCalled(String methodName) { } } Index: CallMatch.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Attic/CallMatch.java,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -r1.1.2.3 -r1.1.2.4 --- CallMatch.java 15 Apr 2003 22:22:57 -0000 1.1.2.3 +++ CallMatch.java 16 Apr 2003 16:31:44 -0000 1.1.2.4 @@ -30,8 +30,8 @@ if( !constraints[i].eval(args[i]) ) { throw new AssertionFailedError( AssertMo.expectedErrorMessage( methodName + " received incorrect argument " + i, - AssertMo.join(constraints), - AssertMo.join(args) ) ); + DynamicUtil.join(constraints), + DynamicUtil.join(args) ) ); } } @@ -54,7 +54,7 @@ } public String getDescription() { - return AssertMo.methodToString(methodName, constraints); + return DynamicUtil.methodToString(methodName, constraints); } // Implemented to aid visualisation in an IDE debugger Index: C.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/C.java,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -u -r1.1.2.4 -r1.1.2.5 --- C.java 15 Apr 2003 22:23:00 -0000 1.1.2.4 +++ C.java 16 Apr 2003 16:31:44 -0000 1.1.2.5 @@ -19,7 +19,6 @@ public static final Constraint IS_ZERO = eq(new Integer(0)); public static final Constraint IS_NOT_ZERO = not(IS_ZERO); - public static final Constraint[] ANY_ARGS = null; public static final Constraint[] NO_ARGS = new Constraint[0]; @@ -105,6 +104,8 @@ public static Constraint isA( Class c ) { return new IsInstanceOf(c); } + + /* Helper methods for succinctly constructing Constraint arrays */ @@ -124,4 +125,13 @@ public static Constraint[] args(Constraint p1, Constraint p2, Constraint p3) { return new Constraint[] {p1, p2, p3}; } + + public static Constraint[] anyArgs( int argCount) { + Constraint[] result = new Constraint[argCount]; + for (int i = 0; i < result.length; i++) { + result[i] = new IsAnything(); + } + + return result; + } } Index: CallSequence.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/CallSequence.java,v retrieving revision 1.4.2.2 retrieving revision 1.4.2.3 diff -u -r1.4.2.2 -r1.4.2.3 --- CallSequence.java 14 Apr 2003 18:46:53 -0000 1.4.2.2 +++ CallSequence.java 16 Apr 2003 16:31:44 -0000 1.4.2.3 @@ -49,7 +49,7 @@ StringBuffer buf = new StringBuffer(); buf.append("Unexpected call to "); - buf.append(AssertMo.methodToString(methodName, args)); + buf.append(DynamicUtil.methodToString(methodName, args)); buf.append("\n"); buf.append("Expected "); buf.append(getDescription()); |