package er.chronic; import java.util.Calendar; import junit.framework.TestCase; import er.chronic.repeaters.RepeaterHour; import er.chronic.tags.Pointer; import er.chronic.utils.Span; import er.chronic.utils.Time; public class RepeaterHourTest 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() { RepeaterHour hours = new RepeaterHour(); hours.setStart(_now); Span nextHour = hours.nextSpan(Pointer.PointerType.FUTURE); assertEquals(Time.construct(2006, 8, 16, 15), nextHour.getBeginCalendar()); assertEquals(Time.construct(2006, 8, 16, 16), nextHour.getEndCalendar()); Span nextNextHour = hours.nextSpan(Pointer.PointerType.FUTURE); assertEquals(Time.construct(2006, 8, 16, 16), nextNextHour.getBeginCalendar()); assertEquals(Time.construct(2006, 8, 16, 17), nextNextHour.getEndCalendar()); } public void testNextPast() { RepeaterHour hours = new RepeaterHour(); hours.setStart(_now); Span lastHour = hours.nextSpan(Pointer.PointerType.PAST); assertEquals(Time.construct(2006, 8, 16, 13), lastHour.getBeginCalendar()); assertEquals(Time.construct(2006, 8, 16, 14), lastHour.getEndCalendar()); Span lastLastHour = hours.nextSpan(Pointer.PointerType.PAST); assertEquals(Time.construct(2006, 8, 16, 12), lastLastHour.getBeginCalendar()); assertEquals(Time.construct(2006, 8, 16, 13), lastLastHour.getEndCalendar()); } public void testThis() { _now = Time.construct(2006, 8, 16, 14, 30); RepeaterHour hours = new RepeaterHour(); hours.setStart(_now); Span thisHour; thisHour = hours.thisSpan(Pointer.PointerType.FUTURE); assertEquals(Time.construct(2006, 8, 16, 14, 31), thisHour.getBeginCalendar()); assertEquals(Time.construct(2006, 8, 16, 15), thisHour.getEndCalendar()); thisHour = hours.thisSpan(Pointer.PointerType.PAST); assertEquals(Time.construct(2006, 8, 16, 14), thisHour.getBeginCalendar()); assertEquals(Time.construct(2006, 8, 16, 14, 30), thisHour.getEndCalendar()); } public void testOffset() { Span span = new Span(_now, Calendar.SECOND, 1); Span offsetSpan; offsetSpan = new RepeaterHour().getOffset(span, 3, Pointer.PointerType.FUTURE); assertEquals(Time.construct(2006, 8, 16, 17), offsetSpan.getBeginCalendar()); assertEquals(Time.construct(2006, 8, 16, 17, 0, 1), offsetSpan.getEndCalendar()); offsetSpan = new RepeaterHour().getOffset(span, 24, Pointer.PointerType.PAST); assertEquals(Time.construct(2006, 8, 15, 14), offsetSpan.getBeginCalendar()); assertEquals(Time.construct(2006, 8, 15, 14, 0, 1), offsetSpan.getEndCalendar()); } }