001package org.junit.experimental.theories.internal; 002 003import java.util.ArrayList; 004import java.util.List; 005 006import org.junit.experimental.theories.ParameterSignature; 007import org.junit.experimental.theories.ParameterSupplier; 008import org.junit.experimental.theories.PotentialAssignment; 009 010public class EnumSupplier extends ParameterSupplier { 011 012 private Class<?> enumType; 013 014 public EnumSupplier(Class<?> enumType) { 015 this.enumType = enumType; 016 } 017 018 @Override 019 public List<PotentialAssignment> getValueSources(ParameterSignature sig) { 020 Object[] enumValues = enumType.getEnumConstants(); 021 022 List<PotentialAssignment> assignments = new ArrayList<PotentialAssignment>(); 023 for (Object value : enumValues) { 024 assignments.add(PotentialAssignment.forValue(value.toString(), value)); 025 } 026 027 return assignments; 028 } 029 030}