package br.com.six2six.fixturefactory.function.impl; import java.util.ArrayList; import java.util.List; import br.com.six2six.fixturefactory.function.AtomicFunction; public class EnumFunction implements AtomicFunction { private Class<? extends Enum<?>> clazz; private int quantity; public EnumFunction(Class<? extends Enum<?>> clazz, int quantity) { this.clazz = clazz; this.quantity = quantity; } @SuppressWarnings("unchecked") @Override public <T> T generateValue() { List<T> results = new ArrayList<T>(); AtomicFunction function = new RandomFunction(clazz); for (int i = 0; i < quantity; i++) { results.add((T) function.generateValue()); } return (T) results; } }