autofixture.generators.enums.EnumSequenceGenerator Maven / Gradle / Ivy
package autofixture.generators.enums;
import autofixture.interfaces.FixtureContract;
import autofixture.interfaces.InstanceGenerator;
import autofixture.interfaces.InstanceType;
public class EnumSequenceGenerator implements InstanceGenerator {
private final EnumCache enumCache;
public EnumSequenceGenerator(final EnumCache enumCache) {
this.enumCache = enumCache;
}
@Override
public boolean appliesTo(final InstanceType typeToken) {
return typeToken.isEnum();
}
@Override
public T next(final InstanceType type, final FixtureContract fixture) {
enumCache.registerIfNotPresent(type);
return enumCache.retrieveNextValueOf(type);
}
@Override
public T nextEmpty(final InstanceType instanceType, final FixtureContract fixture) {
return next(instanceType, fixture);
}
@Override
public void setOmittingAutoProperties(final boolean isOn) {
}
}