package flow.netbeans.markdown.matchers;
import flow.netbeans.markdown.highlighter.MarkdownToken;
import flow.netbeans.markdown.highlighter.MarkdownTokenId;
import org.hamcrest.Matcher;
/**
*
* @author Holger
*/
public class Matchers {
private Matchers() {}
public static <T> Matcher<Iterable<? extends T>> everyItem(Matcher<T> itemMatcher) {
return new EveryItem<T>(itemMatcher);
}
public static Matcher<MarkdownToken> nonZeroLength() {
return new NonZeroLength();
}
public static int totalLengthOf(Iterable<? extends MarkdownToken> iterable) {
int totalLength = 0;
for (MarkdownToken token : iterable) {
totalLength += token.getLength();
}
return totalLength;
}
public static Matcher<Iterable<MarkdownToken>> containsTokensWithId(final MarkdownTokenId... ids) {
return new ContainsTokensWithId(ids);
}
public static Matcher<Iterable<MarkdownToken>> containsTokensWithLength(final int... lengths) {
return new ContainsTokensWithLength(lengths);
}
}