|
From: Márcio V. d. S. <mv...@us...> - 2007-08-20 18:15:30
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/series In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4919/src/test/net/sf/tail/series Added Files: SlicerByTimePeriodTest.java Log Message: arrumando pacotes --- NEW FILE: SlicerByTimePeriodTest.java --- package net.sf.tail.series; import static org.junit.Assert.assertEquals; import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.TimeSeriesSlicer.SlicerType; import net.sf.tail.sample.SampleTimeSeries; import net.sf.tail.series.SlicerByTimePeriod; import org.joda.time.DateTime; import org.joda.time.Period; import org.junit.Before; import org.junit.Test; public class SlicerByTimePeriodTest { private SampleTimeSeries series; private DateTime date; @Before public void setUp() throws Exception { this.date = new DateTime(0); } @Test public void testSplitByYearOneDatePerYear() { series = new SampleTimeSeries(date.withYear(2000),date.withYear(2001), date.withYear(2002),date.withYear(2003), date.withYear(2004)); Period period = new Period().withYears(1); TimeSeriesSlicer split = new SlicerByTimePeriod(series, period, SlicerType.REGULAR); assertEquals(5, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); assertEquals(0, split.getSlice(0).getEnd()); assertEquals(1, split.getSlice(1).getBegin()); assertEquals(1, split.getSlice(1).getEnd()); assertEquals(2, split.getSlice(2).getBegin()); assertEquals(2, split.getSlice(2).getEnd()); assertEquals(3, split.getSlice(3).getBegin()); assertEquals(3, split.getSlice(3).getEnd()); assertEquals(4, split.getSlice(4).getBegin()); assertEquals(4, split.getSlice(4).getEnd()); } @Test public void testSplitByYear() { series = new SampleTimeSeries( date.withYear(2000), date.withYear(2000), date.withYear(2000), date.withYear(2001), date.withYear(2001), date.withYear(2001), date.withYear(2002), date.withYear(2002), date.withYear(2002),date.withYear(2002), date.withYear(2003) ); Period period = new Period().withYears(1); TimeSeriesSlicer split = new SlicerByTimePeriod(series, period, SlicerType.REGULAR); assertEquals(4, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); assertEquals(2, split.getSlice(0).getEnd()); assertEquals(3, split.getSlice(1).getBegin()); assertEquals(5, split.getSlice(1).getEnd()); assertEquals(6, split.getSlice(2).getBegin()); assertEquals(9, split.getSlice(2).getEnd()); assertEquals(10, split.getSlice(3).getBegin()); assertEquals(10, split.getSlice(3).getEnd()); } @Test public void testSplitByYearForcingJuly() { Period period = new Period().withYears(1); series = new SampleTimeSeries( date.withDate(2000,1,1), date.withDate(2000,2,1), date.withDate(2000,3,1), date.withDate(2001,1,1), date.withDate(2001,2,1), date.withDate(2001,12,12), date.withDate(2002,1,1), date.withDate(2002,2,1), date.withDate(2002,3,1), date.withDate(2002,5,1), date.withDate(2003,3,1) ); TimeSeriesSlicer split = new SlicerByTimePeriod(series, period, date.withYear(2000).withMonthOfYear(7), SlicerType.REGULAR); assertEquals(3, split.getSlices()); assertEquals(3, split.getSlice(0).getBegin()); assertEquals(4, split.getSlice(0).getEnd()); assertEquals(5, split.getSlice(1).getBegin()); assertEquals(9, split.getSlice(1).getEnd()); assertEquals(10, split.getSlice(2).getBegin()); assertEquals(10, split.getSlice(2).getEnd()); } @Test public void testSplitByYearWithHolesBetweenSlices() { series = new SampleTimeSeries(date.withYear(2000), date.withYear(2000), date.withYear(2000), date.withYear(2001), date.withYear(2001), date.withYear(2001), date.withYear(2002), date.withYear(2002), date.withYear(2002), date.withYear(2002), date.withYear(2005), date.withYear(2005)); Period period = new Period().withYears(1); TimeSeriesSlicer split = new SlicerByTimePeriod(series, period, SlicerType.REGULAR); assertEquals(4, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); assertEquals(2, split.getSlice(0).getEnd()); assertEquals(3, split.getSlice(1).getBegin()); assertEquals(5, split.getSlice(1).getEnd()); assertEquals(6, split.getSlice(2).getBegin()); assertEquals(9, split.getSlice(2).getEnd()); assertEquals(10, split.getSlice(3).getBegin()); assertEquals(11, split.getSlice(3).getEnd()); } @Test public void testSplitByYearWithBiggerSlices() { series = new SampleTimeSeries( date.withDate(2000, 1, 1), date.withDate(2000, 2, 1), date.withDate(2000, 3, 15), date.withDate(2001, 1, 1), date.withDate(2001, 1, 3), date.withDate(2001, 12, 31), date.withDate(2002, 1, 1), date.withDate(2002, 1, 2), date.withDate(2002, 1, 3), date.withDate(2002, 5, 5), date.withDate(2003, 3, 3) ); Period period = new Period().withYears(1); SlicerByTimePeriod split = new SlicerByTimePeriod(series, period, SlicerType.REGULAR); assertEquals(4, split.getSlices()); assertEquals(0, split.getBiggerSlice(0, 2).getBegin()); assertEquals(5, split.getBiggerSlice(0, 2).getEnd()); assertEquals(3, split.getBiggerSlice(1, 2).getBegin()); assertEquals(9, split.getBiggerSlice(1, 2).getEnd()); assertEquals(0, split.getBiggerSlice(0, 3).getBegin()); assertEquals(9, split.getBiggerSlice(0, 3).getEnd()); } @Test public void testSplitByYearBeginningInJuly() { Period period = new Period().withYears(1); series = new SampleTimeSeries( date.withDate(2000, 7, 1), date.withDate(2000, 8, 1),date.withDate(2000, 9, 15), date.withDate(2001, 1, 1), date.withDate(2001, 1, 3), date.withDate(2001, 12, 31), date.withDate(2002, 1, 1), date.withDate(2002, 1, 2), date.withDate(2002, 1, 3), date.withDate(2002, 5, 5), date.withDate(2003, 3, 3) ); TimeSeriesSlicer split = new SlicerByTimePeriod(series, period, SlicerType.REGULAR); assertEquals(3, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); assertEquals(4, split.getSlice(0).getEnd()); assertEquals(5, split.getSlice(1).getBegin()); assertEquals(9, split.getSlice(1).getEnd()); assertEquals(10, split.getSlice(2).getBegin()); assertEquals(10, split.getSlice(2).getEnd()); } @Test public void testSplitByYearBeginingInJulyOverridingPeriodBeginTo1of1of2000() { Period period = new Period().withYears(1); series = new SampleTimeSeries( date.withDate(2000, 7, 1), date.withDate(2000, 8, 1),date.withDate(2000, 9, 15), date.withDate(2001, 1, 1), date.withDate(2001, 1, 3), date.withDate(2001, 12, 31), date.withDate(2002, 1, 1), date.withDate(2002, 1, 2), date.withDate(2002, 1, 3), date.withDate(2002, 5, 5), date.withDate(2003, 3, 3) ); TimeSeriesSlicer split = new SlicerByTimePeriod(series, period, date.withDate(2000, 1, 1), SlicerType.REGULAR); assertEquals(4, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); assertEquals(2, split.getSlice(0).getEnd()); assertEquals(3, split.getSlice(1).getBegin()); assertEquals(5, split.getSlice(1).getEnd()); assertEquals(6, split.getSlice(2).getBegin()); assertEquals(9, split.getSlice(2).getEnd()); assertEquals(10, split.getSlice(3).getBegin()); assertEquals(10, split.getSlice(3).getEnd()); } @Test public void testSplitByHour() { Period period = new Period().withHours(1); DateTime openTime = new DateTime(0).withTime(10, 0, 0, 0); series = new SampleTimeSeries( openTime, openTime.plusMinutes(1) , openTime.plusMinutes(2), openTime.plusMinutes(10), openTime.plusMinutes(15), openTime.plusMinutes(25), openTime.plusHours(1), openTime.plusHours(2), openTime.plusHours(7), openTime.plusHours(10).plusMinutes(5), openTime.plusHours(10).plusMinutes(10), openTime.plusHours(10).plusMinutes(20), openTime.plusHours(10).plusMinutes(30) ); TimeSeriesSlicer split = new SlicerByTimePeriod(series, period, SlicerType.REGULAR); assertEquals(5, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); assertEquals(5, split.getSlice(0).getEnd()); assertEquals(6, split.getSlice(1).getBegin()); assertEquals(6, split.getSlice(1).getEnd()); assertEquals(7, split.getSlice(2).getBegin()); assertEquals(7, split.getSlice(2).getEnd()); assertEquals(8, split.getSlice(3).getBegin()); assertEquals(8, split.getSlice(3).getEnd()); assertEquals(9, split.getSlice(4).getBegin()); assertEquals(12, split.getSlice(4).getEnd()); } @Test public void testMemorizedSlicer() { Period period = new Period().withYears(1); series = new SampleTimeSeries( date.withDate(2000, 7, 1), date.withDate(2000, 8, 1),date.withDate(2000, 9, 15), date.withDate(2001, 1, 1), date.withDate(2001, 1, 3), date.withDate(2001, 12, 31), date.withDate(2002, 1, 1), date.withDate(2002, 1, 2), date.withDate(2002, 1, 3), date.withDate(2002, 5, 5), date.withDate(2003, 3, 3) ); TimeSeriesSlicer split = new SlicerByTimePeriod(series, period, date.withDate(2000, 1, 1), SlicerType.MEMORIZED); assertEquals(4, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); assertEquals(2, split.getSlice(0).getEnd()); assertEquals(0, split.getSlice(1).getBegin()); assertEquals(5, split.getSlice(1).getEnd()); assertEquals(0, split.getSlice(2).getBegin()); assertEquals(9, split.getSlice(2).getEnd()); assertEquals(0, split.getSlice(3).getBegin()); assertEquals(10, split.getSlice(3).getEnd()); } } |