All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ext.test4j.hamcrest.collection.IsIterableWithSize Maven / Gradle / Ivy

There is a newer version: 2.5.0
Show newest version
package ext.test4j.hamcrest.collection;

import static ext.test4j.hamcrest.core.IsEqual.equalTo;

import java.util.Iterator;

import ext.test4j.hamcrest.Factory;
import ext.test4j.hamcrest.FeatureMatcher;
import ext.test4j.hamcrest.Matcher;

public class IsIterableWithSize extends FeatureMatcher, Integer> {

    public IsIterableWithSize(Matcher sizeMatcher) {
        super(sizeMatcher, "an iterable with size", "iterable size");
    }
    

    @Override
    protected Integer featureValueOf(Iterable actual) {
      int size = 0;
      for (Iterator iterator = actual.iterator(); iterator.hasNext(); iterator.next()) {
        size++;
      }
      return size;
    }

    @Factory
    public static  Matcher> iterableWithSize(Matcher sizeMatcher) {
        return new IsIterableWithSize(sizeMatcher);
    }

    @Factory
    public static  Matcher> iterableWithSize(int size) {
        return iterableWithSize(equalTo(size));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy