![JAR search and dependency download from the Maven repository](/logo.png)
autofixture.generators.PathGenerator 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;
import autofixture.interfaces.FixtureContract;
import autofixture.interfaces.InlineGeneratorsFactory;
import autofixture.interfaces.InstanceGenerator;
import autofixture.interfaces.InstanceType;
import com.google.common.collect.Lists;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Optional;
public class PathGenerator implements InstanceGenerator {
private InlineGeneratorsFactory generatorsFactory;
private Optional root;
public PathGenerator(InlineGeneratorsFactory generatorsFactory) {
this.generatorsFactory = generatorsFactory;
root = Lists.newArrayList(FileSystems.getDefault().getRootDirectories())
.stream()
.findFirst();
}
@Override
public boolean appliesTo(InstanceType instanceType) {
return instanceType.isAssignableTo(Path.class);
}
@Override
public T next(InstanceType instanceType, FixtureContract fixture) {
return (T)Paths.get(
root.get().toString(),
fixture.create(generatorsFactory.alphaString()),
fixture.create(generatorsFactory.alphaString()),
fixture.create(generatorsFactory.alphaString()));
}
@Override
public T nextEmpty(InstanceType instanceType, FixtureContract fixture) {
return (T)root.get();
}
@Override
public void setOmittingAutoProperties(boolean isOn) {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy