invokedaftermatcher.java

来自「不管是测试驱动开发或者是其它的开发模式」· Java 代码 · 共 41 行

JAVA
41
字号
/*  Copyright (c) 2000-2004 jMock.org
 */
package org.jmock.core.matcher;

import junit.framework.AssertionFailedError;
import org.jmock.core.Invocation;


public class InvokedAfterMatcher
        extends StatelessInvocationMatcher
{
    private InvokedRecorder priorCallRecorder;
    private String priorCallDescription;

    public InvokedAfterMatcher( InvokedRecorder priorCallRecorder,
                                String priorCallDescription ) {
        this.priorCallRecorder = priorCallRecorder;
        this.priorCallDescription = priorCallDescription;
    }

    public boolean matches( Invocation invocation ) {
        return priorCallRecorder.hasBeenInvoked();
    }

    public void invoked( Invocation invocation ) {
        if (!matches(invocation)) {
            throw new AssertionFailedError("called out of order; should be called after " + priorCallDescription);
        }
    }

    public StringBuffer describeTo( StringBuffer buffer ) {
        buffer.append("after ").append(priorCallDescription);
        if( priorCallRecorder.hasBeenInvoked() ) {
            buffer.append(" (invoked)");
        } else {
            buffer.append(" (not invoked)");
        }
        return buffer;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?