From: Steve F. <sm...@us...> - 2003-06-26 17:32:53
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv19337/src/core/com/mockobjects/dynamic Modified Files: Tag: Nat_reworks_dynamics_from_0_09 BaseCallCollectionBuilder.java DefaultCallFactory.java CallOnceExpectation.java CallFactory.java CallCollectionBuilder.java Added Files: Tag: Nat_reworks_dynamics_from_0_09 DefaultReturnStub.java Log Message: Further changes from Nat --- NEW FILE: DefaultReturnStub.java --- /** Created on Jun 22, 2003 by npryce */ package com.mockobjects.dynamic; import java.util.*; import junit.framework.AssertionFailedError; public class DefaultReturnStub extends Stub { private Map resultValuesByType = new HashMap(); public DefaultReturnStub() { } public String getDescription() { return "a guessed result"; } public void addResult( Class resultType, Object resultValue ) { resultValuesByType.put( resultType, resultValue ); } public boolean matches( ActiveCall call ) { return resultValuesByType.containsKey( call.getReturnType() ); } public Object call( ActiveCall call ) throws Throwable { if( resultValuesByType.containsKey(call.getReturnType()) ) { return resultValuesByType.get(call.getReturnType()); } else { throw new AssertionFailedError( createErrorMessage(call) ); } } public String createErrorMessage(ActiveCall call) { StringBuffer buf = new StringBuffer(); buf.append("unexpected result type: "); buf.append(call.getReturnType().toString()); buf.append("\n"); if( resultValuesByType.isEmpty() ) { buf.append("no result types are registered!"); } else { buf.append("expected one of: "); Iterator i = resultValuesByType.keySet().iterator(); buf.append( i.next().toString() ); while( i.hasNext() ) { buf.append(", "); buf.append( i.next().toString() ); } } return buf.toString(); } public static DefaultReturnStub createStub() { DefaultReturnStub stub = new DefaultReturnStub(); stub.addResult( byte.class, new Byte((byte)0) ); stub.addResult( short.class, new Short((short)0) ); stub.addResult( int.class, new Integer(0) ); stub.addResult( long.class, new Long(0L) ); stub.addResult( char.class, new Character('\0') ); stub.addResult( float.class, new Float(0.0F) ); stub.addResult( double.class, new Double(0.0) ); stub.addResult( Byte.class, new Byte((byte)0) ); stub.addResult( Short.class, new Short((short)0) ); stub.addResult( Integer.class, new Integer(0) ); stub.addResult( Long.class, new Long(0L) ); stub.addResult( Character.class, new Character('\0') ); stub.addResult( Float.class, new Float(0.0F) ); stub.addResult( Double.class, new Double(0.0) ); stub.addResult( String.class, "<default string result>" ); return stub; } } Index: BaseCallCollectionBuilder.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Attic/BaseCallCollectionBuilder.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- BaseCallCollectionBuilder.java 21 Jun 2003 14:01:07 -0000 1.1.2.1 +++ BaseCallCollectionBuilder.java 26 Jun 2003 17:32:48 -0000 1.1.2.2 @@ -7,10 +7,10 @@ /** The BaseCallCollectionBuilder class acts as a template for the * {@link CallCollectionBuilder class}. All parameters of type * Object of methods in this class are overloaded for primitive types - * in the CallCollectionBuilder class. + * in the CallCollectionBuilder class [the Generation Gap pattern]. */ public abstract class BaseCallCollectionBuilder - implements CompositeCallable, Verifiable + implements CompositeCallable, Verifiable { private CallFactory callFactory; private CompositeCallable composite; @@ -21,44 +21,43 @@ this.composite = composite; } - public BaseCallCollectionBuilder( CompositeCallable composite ) { - this( new DefaultCallFactory(), composite ); - } - - public void addCallable( Callable callable ) { - composite.addCallable( callable ); - } - - public String getDescription() { - return composite.getDescription(); - } - - public Object call( ActiveCall call ) throws Throwable { - return composite.call( call ); - } - - public boolean matches( ActiveCall call ) { - return composite.matches( call ); - } - - public void reset() { - this.composite.reset(); - } + public BaseCallCollectionBuilder( CompositeCallable composite ) { + this( new DefaultCallFactory(), composite ); + } + + public void addCallable( Callable callable ) { + composite.addCallable( callable ); + } + + public String getDescription() { + return composite.getDescription(); + } + + public Object call( ActiveCall call ) throws Throwable { + return composite.call( call ); + } + + public boolean matches( ActiveCall call ) { + return composite.matches( call ); + } + + public void reset() { + this.composite.reset(); + } public void verify() { - composite.verify(); + composite.verify(); } - public void expect( String methodName, Constraint[] args, Callable stub ) { - addCallable( - callFactory.createCallOnceExpectation( - callFactory.createArgumentMatcher( methodName, args, - stub ))); - } - - public void expectVoid( String methodName, Constraint[] args ) { - expect( methodName, args, callFactory.createVoidStub() ); - } + public void expect( String methodName, Constraint[] args, Callable stub ) { + addCallable( + callFactory.createCallOnceExpectation( + callFactory.createArgumentMatcher( methodName, args, stub ))); + } + + public void expectVoid( String methodName, Constraint[] args ) { + expect( methodName, args, callFactory.createVoidStub() ); + } public void expectVoid( String methodName ) { expectVoid( methodName, C.NO_ARGS ); @@ -68,13 +67,13 @@ expectVoid( methodName, C.args(C.eq(singleEqualArg)) ); } - public void expectVoid(String methodName, Constraint singleConstraint ) { - expectVoid( methodName, new Constraint[]{ singleConstraint } ); - } - - public void expectAndReturn( String methodName, Constraint[] args, Object result) { - expect( methodName, args, callFactory.createReturnStub(result) ); - } + public void expectVoid(String methodName, Constraint singleConstraint ) { + expectVoid( methodName, new Constraint[]{ singleConstraint } ); + } + + public void expectAndReturn( String methodName, Constraint[] args, Object result) { + expect( methodName, args, callFactory.createReturnStub(result) ); + } public void expectAndReturn(String methodName, Object result ) { this.expectAndReturn(methodName, C.NO_ARGS, result); @@ -84,64 +83,64 @@ this.expectAndReturn(methodName, C.args(C.eq(singleEqualArg)), result); } - public void expectAndReturn(String methodName, Constraint singleConstraint, Object result) { - this.expectAndReturn( methodName, new Constraint[]{singleConstraint}, - result); - } - - public void expectAndThrow(String methodName, Constraint[] args, Throwable exception) { - expect( methodName, args, callFactory.createThrowStub(exception) ); - } + public void expectAndReturn(String methodName, Constraint singleConstraint, Object result) { + this.expectAndReturn( methodName, new Constraint[]{singleConstraint}, + result); + } + + public void expectAndThrow(String methodName, Constraint[] args, Throwable exception) { + expect( methodName, args, callFactory.createThrowStub(exception) ); + } public void expectAndThrow( String methodName, Throwable exception ) { expectAndThrow(methodName, C.NO_ARGS, exception); } public void expectAndThrow( String methodName, - Object singleEqualArg, - Throwable exception ) - { + Object singleEqualArg, + Throwable exception ) + { expectAndThrow( methodName, C.args(C.eq(singleEqualArg)), exception ); } - public void expectAndThrow( String methodName, - Constraint singleConstraint, - Throwable exception ) - { - this.expectAndThrow( methodName, - new Constraint[]{ singleConstraint }, - exception ); - } - - public void match( String methodName, Constraint[] args, Callable stub ) { - composite.addCallable( - callFactory.createArgumentMatcher( methodName, args, - stub ) ); - } - - public void matchAndReturn(String methodName, Constraint[] args, Object result) { - match( methodName, args, callFactory.createReturnStub(result)); - } + public void expectAndThrow( String methodName, + Constraint singleConstraint, + Throwable exception ) + { + this.expectAndThrow( methodName, + new Constraint[]{ singleConstraint }, + exception ); + } + + public void match( String methodName, Constraint[] args, Callable stub ) { + composite.addCallable( + callFactory.createArgumentMatcher( methodName, args, + stub ) ); + } + + public void matchAndReturn(String methodName, Constraint[] args, Object result) { + match( methodName, args, callFactory.createReturnStub(result)); + } public void matchAndReturn(String methodName, Object result) { matchAndReturn( methodName, C.NO_ARGS, result ); } - public void matchAndReturn( String methodName, - Constraint singleConstraint, - Object result ) - { - matchAndReturn( methodName, new Constraint[]{singleConstraint}, - result); - } + public void matchAndReturn( String methodName, + Constraint singleConstraint, + Object result ) + { + matchAndReturn( methodName, new Constraint[]{singleConstraint}, + result); + } public void matchAndReturn(String methodName, Object singleEqualArg, Object result) { this.matchAndReturn(methodName, C.args(C.eq(singleEqualArg)), result); } - public void matchAndThrow(String methodName, Constraint[] args, Throwable throwable) { - match( methodName, args, callFactory.createThrowStub(throwable) ); - } + public void matchAndThrow(String methodName, Constraint[] args, Throwable throwable) { + match( methodName, args, callFactory.createThrowStub(throwable) ); + } public void matchAndThrow(String methodName, Throwable throwable) { this.matchAndThrow(methodName, C.NO_ARGS, throwable); @@ -150,18 +149,31 @@ public void matchAndThrow(String methodName, Object singleEqualArg, Throwable throwable) { this.matchAndThrow(methodName, C.args(C.eq(singleEqualArg)), throwable); } - - public CallCollectionBuilder newCallSelection() { - return addCallCollection( callFactory.createCallSelection() ); - } + + public void matchName( String methodName, Callable stub ) { + composite.addCallable( + callFactory.createNameMatcher( methodName, stub ) ); + } + + public void matchNameAndReturn(String methodName, Object result ) { + matchName( methodName, callFactory.createReturnStub(result) ); + } + + public void matchNameAndThrow(String methodName, Throwable throwable) { + matchName( methodName, callFactory.createThrowStub(throwable) ); + } + + public CallCollectionBuilder newCallSelection() { + return addCallCollection( callFactory.createCallSelection() ); + } - public CallCollectionBuilder newCallSequence() { - return addCallCollection( callFactory.createCallSequence() ); - } + public CallCollectionBuilder newCallSequence() { + return addCallCollection( callFactory.createCallSequence() ); + } - private CallCollectionBuilder addCallCollection( CompositeCallable collection ) { - composite.addCallable(collection); - return callFactory.createCallCollectionBuilder( collection ); - } + private CallCollectionBuilder addCallCollection( CompositeCallable collection ) { + composite.addCallable(collection); + return callFactory.createCallCollectionBuilder( collection ); + } } Index: DefaultCallFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/DefaultCallFactory.java,v retrieving revision 1.5.2.1 retrieving revision 1.5.2.2 diff -u -r1.5.2.1 -r1.5.2.2 --- DefaultCallFactory.java 21 Jun 2003 14:01:07 -0000 1.5.2.1 +++ DefaultCallFactory.java 26 Jun 2003 17:32:48 -0000 1.5.2.2 @@ -23,6 +23,10 @@ return new ArgumentMatcher( methodName, constraints, call ); } + public Callable createNameMatcher(String methodName, Callable call) { + return new NameMatcher( methodName, call ); + } + public Callable createVoidStub() { return new VoidStub(); } Index: CallOnceExpectation.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/CallOnceExpectation.java,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -u -r1.2.2.1 -r1.2.2.2 --- CallOnceExpectation.java 21 Jun 2003 14:01:07 -0000 1.2.2.1 +++ CallOnceExpectation.java 26 Jun 2003 17:32:48 -0000 1.2.2.2 @@ -21,7 +21,8 @@ } public boolean matches( ActiveCall call ) { - return (!wasCalled) && super.matches( call ); + return !wasCalled + && super.matches( call ); } public void verify() { Index: CallFactory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/CallFactory.java,v retrieving revision 1.4.2.1 retrieving revision 1.4.2.2 diff -u -r1.4.2.1 -r1.4.2.2 --- CallFactory.java 21 Jun 2003 14:01:07 -0000 1.4.2.1 +++ CallFactory.java 26 Jun 2003 17:32:48 -0000 1.4.2.2 @@ -6,19 +6,22 @@ { Callable createReturnStub( Object result ); - Callable createThrowStub( Throwable throwable ); + Callable createThrowStub( Throwable throwable ); - Callable createVoidStub(); + Callable createVoidStub(); - Callable createCallOnceExpectation( Callable call ); + Callable createCallOnceExpectation( Callable call ); Callable createArgumentMatcher( String methodName, - Constraint[] constraints, - Callable call ); + Constraint[] constraints, + Callable call ); - CompositeCallable createCallSequence(); + Callable createNameMatcher( String methodName, + Callable call ); - CompositeCallable createCallSelection(); + CompositeCallable createCallSequence(); - CallCollectionBuilder createCallCollectionBuilder( CompositeCallable collection ); + CompositeCallable createCallSelection(); + + CallCollectionBuilder createCallCollectionBuilder( CompositeCallable collection ); } Index: CallCollectionBuilder.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic/Attic/CallCollectionBuilder.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- CallCollectionBuilder.java 21 Jun 2003 14:01:07 -0000 1.1.2.1 +++ CallCollectionBuilder.java 26 Jun 2003 17:32:48 -0000 1.1.2.2 @@ -1,815 +1,847 @@ // WARNING: DO NOT EDIT // This file was automatically generated by the Boxer (floats like a butterfly, strings like a bee) -// Generated on Thu Jun 19 14:37:31 BST 2003 +// Generated on Thu Jun 19 19:50:08 BST 2003 package com.mockobjects.dynamic; public class CallCollectionBuilder extends com.mockobjects.dynamic.BaseCallCollectionBuilder { - public CallCollectionBuilder(com.mockobjects.dynamic.CallFactory arg0, com.mockobjects.dynamic.CompositeCallable arg1) { - super(arg0, arg1); - } [...1624 lines suppressed...] + public void matchNameAndReturn(java.lang.String arg0, double arg1) { + super.matchNameAndReturn(arg0, new Double(arg1)); + } + + public void matchNameAndReturn(java.lang.String arg0, int arg1) { + super.matchNameAndReturn(arg0, new Integer(arg1)); + } + + public void matchNameAndReturn(java.lang.String arg0, float arg1) { + super.matchNameAndReturn(arg0, new Float(arg1)); + } + + public void matchNameAndReturn(java.lang.String arg0, boolean arg1) { + super.matchNameAndReturn(arg0, new Boolean(arg1)); + } + + public void matchNameAndReturn(java.lang.String arg0, short arg1) { + super.matchNameAndReturn(arg0, new Short(arg1)); + } } |