![JAR search and dependency download from the Maven repository](/logo.png)
autofixture.generators.vavr.VavrIteratorGenerator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of autofixturegenerator Show documentation
Show all versions of autofixturegenerator Show documentation
An attempt to reimplement core features of a popular .NET anonymous value generator - AutoFixture - in
Java
package autofixture.generators.vavr;
import autofixture.interfaces.FixtureContract;
import autofixture.interfaces.InstanceGenerator;
import autofixture.interfaces.InstanceType;
import io.vavr.collection.Iterator;
import io.vavr.collection.List;
public class VavrIteratorGenerator implements InstanceGenerator {
//apparently, when the lists are not cached,
//the size of the iterator becomes 0 pretty soon
private List iteratorParents = List.empty();
@Override
public boolean appliesTo(final InstanceType instanceType) {
return instanceType.isRawTypeAssignableFrom(io.vavr.collection.Iterator.class);
}
@Override
public T next(final InstanceType instanceType, final FixtureContract fixture) {
List> parent = List.ofAll(instanceType.turnIntoCollection(fixture));
iteratorParents = iteratorParents.append(parent);
Iterator> iterator = parent.iterator();
return (T) iterator;
}
@Override
public T nextEmpty(final InstanceType instanceType, final FixtureContract fixture) {
return (T)Iterator.empty();
}
@Override
public void setOmittingAutoProperties(final boolean isOn) {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy