package net.sf.latexdraw.data; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; import net.sf.latexdraw.model.api.property.LineArcProp; import org.junit.experimental.theories.ParameterSignature; import org.junit.experimental.theories.ParameterSupplier; import org.junit.experimental.theories.PotentialAssignment; public class LineArcSupplier extends ParameterSupplier { public static Stream<LineArcProp> lineArcDiversified() { return Stream.concat(ShapeSupplier.createDiversifiedRectangle(), ShapeSupplier.createDiversifiedSquare()); } @Override public List<PotentialAssignment> getValueSources(final ParameterSignature sig) { final LineArcData shapeData = sig.getAnnotation(LineArcData.class); final Stream<LineArcProp> instances; if(shapeData.withParamVariants()) { instances = lineArcDiversified(); }else { instances = Stream.of(ShapeSupplier.createRectangle(), ShapeSupplier.createSquare()); } return instances.map(r -> PotentialAssignment.forValue("", r)).collect(Collectors.toList()); } }