package org.fluentlenium.core.conditions;
import org.fluentlenium.core.domain.FluentWebElement;
import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;
/**
* Conditions for list of integers.
*/
public class IntegerListConditionsImpl extends BaseObjectListConditions<Integer, IntegerConditions>
implements IntegerConditions, ConditionsObject<List<Integer>> {
/**
* Creates a new list conditions
*
* @param conditions list conditions
* @param objectGetter getter of the underlying object
* @param conditionsGetter getter of the underlying conditions
*/
public IntegerListConditionsImpl(Conditions<FluentWebElement> conditions, Function<FluentWebElement, Integer> objectGetter,
Function<FluentWebElement, IntegerConditions> conditionsGetter) {
super(conditions, objectGetter, conditionsGetter);
}
/**
* Creates a new list conditions, with default integer condition implementation
*
* @param conditions list conditions
* @param objectGetter getter of the underlying object
*/
public IntegerListConditionsImpl(Conditions<FluentWebElement> conditions, Function<FluentWebElement, Integer> objectGetter) {
this(conditions, objectGetter, input -> new IntegerConditionsImpl(objectGetter.apply(input)));
}
@Override
public boolean verify(Predicate<Integer> predicate) {
return conditions.verify(input -> predicate.test(objectGetter.apply(input)));
}
@Override
public IntegerListConditionsImpl not() {
return new IntegerListConditionsImpl(conditions.not(), objectGetter, conditionsGetter);
}
@Override
public boolean equalTo(int value) {
return conditions.verify(input -> conditionsGetter.apply(input).equalTo(value));
}
@Override
public boolean lessThan(int value) {
return conditions.verify(input -> conditionsGetter.apply(input).lessThan(value));
}
@Override
public boolean lessThanOrEqualTo(int value) {
return conditions.verify(input -> conditionsGetter.apply(input).lessThanOrEqualTo(value));
}
@Override
public boolean greaterThan(int value) {
return conditions.verify(input -> conditionsGetter.apply(input).greaterThan(value));
}
@Override
public boolean greaterThanOrEqualTo(int value) {
return conditions.verify(input -> conditionsGetter.apply(input).greaterThanOrEqualTo(value));
}
}