package net.sourceforge.cruisecontrol.chart; import java.io.File; import java.text.DateFormat; import java.text.ParseException; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; import de.laures.cewolf.DatasetProduceException; import net.sourceforge.cruisecontrol.BuildInfo; import net.sourceforge.cruisecontrol.BuildInfoSummary; import net.sourceforge.cruisecontrol.taglib.BuildInfoTag; import junit.framework.TestCase; public class AbstractCruiseControlChartDataTest extends TestCase { private Map cewolfChartParameters; private AbstractCruiseControlChartData chartData; protected void setUp() throws Exception { chartData = new AbstractCruiseControlChartData() { public String getProducerId() { throw new UnsupportedOperationException(); } public Object produceDataset(Map arg0) throws DatasetProduceException { throw new UnsupportedOperationException(); } }; cewolfChartParameters = new HashMap(); List buildInfos = new ArrayList(); BuildInfo info = new BuildInfo(new File("log20050708100401.xml")); buildInfos.add(info); BuildInfoSummary buildInfoSummary = new BuildInfoSummary(buildInfos); cewolfChartParameters.put(BuildInfoTag.INFO_ATTRIBUTE, buildInfoSummary); } protected void tearDown() throws Exception { cewolfChartParameters = null; } public void testHasExpiredShouldBeFalseWhenNoNewBuild() throws ParseException { Date dateOfCachedData = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US).parse("12/12/2006"); assertFalse(chartData.hasExpired(cewolfChartParameters, dateOfCachedData)); } public void testHasExpiredShouldBeTrueWhenNewBuildExists() throws ParseException { Date dateOfCachedData = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US).parse("01/01/2004"); assertTrue(chartData.hasExpired(cewolfChartParameters, dateOfCachedData)); } public void testHasExpiredShouldReturnFalseWhenNoBuildsExist() { List buildInfos = new ArrayList(); BuildInfoSummary buildInfoSummary = new BuildInfoSummary(buildInfos); cewolfChartParameters.put(BuildInfoTag.INFO_ATTRIBUTE, buildInfoSummary); assertFalse(chartData.hasExpired(cewolfChartParameters, new Date())); } }