package er.chronic; import java.util.Calendar; import junit.framework.TestCase; import er.chronic.repeaters.RepeaterYear; import er.chronic.tags.Pointer; import er.chronic.utils.Span; import er.chronic.utils.Time; public class RepeaterYearTest extends TestCase { private Calendar _now; @Override protected void setUp() throws Exception { super.setUp(); _now = Time.construct(2006, 8, 16, 14, 0, 0, 0); } public void testNextFuture() { RepeaterYear years = new RepeaterYear(); years.setStart(_now); Span nextYear = years.nextSpan(Pointer.PointerType.FUTURE); assertEquals(Time.construct(2007, 1, 1), nextYear.getBeginCalendar()); assertEquals(Time.construct(2008, 1, 1), nextYear.getEndCalendar()); Span nextNextYear = years.nextSpan(Pointer.PointerType.FUTURE); assertEquals(Time.construct(2008, 1, 1), nextNextYear.getBeginCalendar()); assertEquals(Time.construct(2009, 1, 1), nextNextYear.getEndCalendar()); } public void testNextPast() { RepeaterYear years = new RepeaterYear(); years.setStart(_now); Span lastYear = years.nextSpan(Pointer.PointerType.PAST); assertEquals(Time.construct(2005, 1, 1), lastYear.getBeginCalendar()); assertEquals(Time.construct(2006, 1, 1), lastYear.getEndCalendar()); Span lastLastYear = years.nextSpan(Pointer.PointerType.PAST); assertEquals(Time.construct(2004, 1, 1), lastLastYear.getBeginCalendar()); assertEquals(Time.construct(2005, 1, 1), lastLastYear.getEndCalendar()); } public void testThis() { RepeaterYear years = new RepeaterYear(); years.setStart(_now); Span thisYear; thisYear = years.thisSpan(Pointer.PointerType.FUTURE); assertEquals(Time.construct(2006, 8, 17), thisYear.getBeginCalendar()); assertEquals(Time.construct(2007, 1, 1), thisYear.getEndCalendar()); thisYear = years.thisSpan(Pointer.PointerType.PAST); assertEquals(Time.construct(2006, 1, 1), thisYear.getBeginCalendar()); assertEquals(Time.construct(2006, 8, 16), thisYear.getEndCalendar()); } public void testOffset() { Span span = new Span(_now, Calendar.SECOND, 1); Span offsetSpan; offsetSpan = new RepeaterYear().getOffset(span, 3, Pointer.PointerType.FUTURE); assertEquals(Time.construct(2009, 8, 16, 14), offsetSpan.getBeginCalendar()); assertEquals(Time.construct(2009, 8, 16, 14, 0, 1), offsetSpan.getEndCalendar()); offsetSpan = new RepeaterYear().getOffset(span, 10, Pointer.PointerType.PAST); assertEquals(Time.construct(1996, 8, 16, 14), offsetSpan.getBeginCalendar()); assertEquals(Time.construct(1996, 8, 16, 14, 0, 1), offsetSpan.getEndCalendar()); } }