anyof.java

来自「junit」· Java 代码 · 共 52 行

JAVA
52
字号
package org.hamcrest.core;import org.hamcrest.BaseMatcher;import org.hamcrest.Matcher;import org.hamcrest.Description;import org.hamcrest.Factory;import java.util.Arrays;/** * Calculates the logical disjunction of two matchers. Evaluation is * shortcut, so that the second matcher is not called if the first * matcher returns <code>true</code>. */public class AnyOf<T> extends BaseMatcher<T> {    private final Iterable<Matcher<? extends T>> matchers;    public AnyOf(Iterable<Matcher<? extends T>> matchers) {        this.matchers = matchers;    }    public boolean matches(Object o) {        for (Matcher<? extends T> matcher : matchers) {            if (matcher.matches(o)) {                return true;            }        }        return false;    }    public void describeTo(Description description) {    	description.appendList("(", " or ", ")", matchers);    }    /**     * Evaluates to true if ANY of the passed in matchers evaluate to true.     */    @Factory    public static <T> Matcher<T> anyOf(Matcher<? extends T>... matchers) {        return anyOf(Arrays.asList(matchers));    }    /**     * Evaluates to true if ANY of the passed in matchers evaluate to true.     */    @Factory    public static <T> Matcher<T> anyOf(Iterable<Matcher<? extends T>> matchers) {        return new AnyOf<T>(matchers);    }}

⌨️ 快捷键说明

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