From: Steve F. <sm...@us...> - 2003-08-21 08:03:08
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/com/mockobjects/dynamic In directory sc8-pr-cvs1:/tmp/cvs-serv29451/src/core/com/mockobjects/dynamic Added Files: Expectation.java InvocationDispatcher.java Invokable.java Stub.java DynamicMockError.java Log Message: New classes for Invocation-based refactoring --- NEW FILE: Expectation.java --- /* * Created on 20-Aug-2003 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package com.mockobjects.dynamic; import com.mockobjects.Verifiable; /** * An object that checks expectations of an Invokable object. * * @author montagu */ public interface Expectation extends Verifiable { boolean matches( Invocation invocation ); void check( Invocation invocation ); } --- NEW FILE: InvocationDispatcher.java --- /* * Created on 20-Aug-2003 * Copyright mockobjects.com * */ package com.mockobjects.dynamic; import java.util.ArrayList; import java.util.Iterator; public class InvocationDispatcher { private ArrayList invokables = new ArrayList(); public Object dispatch(Invocation invocation) throws Throwable { Iterator i = invokables.iterator(); while (i.hasNext()) { Invokable invokable = (Invokable)i.next(); if (invokable.matches(invocation)) { return invokable.invoke(invocation); } } throw new DynamicMockError(invocation, "Nothing matches on this mock"); } public void add(Invokable invokable) { invokables.add(invokable); } } --- NEW FILE: Invokable.java --- package com.mockobjects.dynamic; import com.mockobjects.Verifiable; public interface Invokable extends Verifiable { String getDescription(); boolean matches(Invocation invocation); Object invoke(Invocation invocation) throws Throwable; } --- NEW FILE: DynamicMockError.java --- /* * Created on 20-Aug-2003 * * Copyright mockobjects.com */ package com.mockobjects.dynamic; import junit.framework.AssertionFailedError; public class DynamicMockError extends AssertionFailedError { public final Invocation invocation; public DynamicMockError(Invocation invocation, String message) { super(message); this.invocation = invocation; } } |