package org.junit.experimental.theories.internal; import java.util.ArrayList; import java.util.List; import org.junit.experimental.theories.ParameterSignature; import org.junit.experimental.theories.ParameterSupplier; import org.junit.experimental.theories.PotentialAssignment; public class EnumSupplier extends ParameterSupplier { private Class<?> enumType; public EnumSupplier(Class<?> enumType) { this.enumType = enumType; } @Override public List<PotentialAssignment> getValueSources(ParameterSignature sig) { Object[] enumValues = enumType.getEnumConstants(); List<PotentialAssignment> assignments = new ArrayList<PotentialAssignment>(); for (Object value : enumValues) { assignments.add(PotentialAssignment.forValue(value.toString(), value)); } return assignments; } }