package net.thucydides.core.csv; import net.thucydides.core.steps.StepFactory; import java.util.List; import java.util.Map; /** * A set of test data used in parameterized web tests. * Test data can come from a number of sources, such as CSV files, Excel spreadsheet, arrays, etc. */ public interface TestDataSource { List<String> getHeaders(); List<Map<String, String>> getData(); <T> List<T> getDataAsInstancesOf(Class<T> clazz, Object... constructorArgs); <T> List<T> getInstanciatedInstancesFrom(Class<T> clazz, StepFactory factory); }