package org.oddjob.schedules.regression; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.log4j.Logger; import org.oddjob.arooa.convert.ConversionFailedException; import org.oddjob.arooa.convert.NoConversionAvailableException; import org.oddjob.schedules.Schedule; /** * */ public class SingleTestSchedule { private static Logger logger = Logger.getLogger(SingleTestSchedule.class); /** The schedule. */ private Schedule schedule; private List<TestScheduleRun> runs = new ArrayList<TestScheduleRun>(); private String name; public void setName(String name) { this.name = name; } public String getName() { return this.name; } public void setRuns(int index, TestScheduleRun run) throws Exception { runs.add(run); } public void setSchedule(Schedule schedule) throws NoConversionAvailableException, ConversionFailedException { this.schedule = schedule; } public int countTestCases() { return runs.size(); } public void run() { logger.info("Running ScheduleTest: " + name); for (Iterator<TestScheduleRun> it = runs.iterator(); it.hasNext(); ) { TestScheduleRun test = it.next(); try { test.testSchedule(schedule); } catch (Exception e) { throw new RuntimeException("Test [" + name + "] failed.", e); } } } }