package in.partake.base; import static org.hamcrest.Matchers.greaterThanOrEqualTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.lessThanOrEqualTo; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; import java.util.Date; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class TimeUtilTest { @Before public void setUp() { TimeUtil.resetCurrentDate(); } @Test public void testCurrentDate1() { Date now = new Date(); assertThat(TimeUtil.getCurrentTime(), is(greaterThanOrEqualTo(now.getTime()))); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(greaterThanOrEqualTo(now.getTime()))); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(greaterThanOrEqualTo(now.getTime()))); TimeUtil.setCurrentDateTime(new DateTime(0L)); assertThat(TimeUtil.getCurrentTime(), is(0L)); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(0L)); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(0L)); TimeUtil.setCurrentTime(0L); assertThat(TimeUtil.getCurrentTime(), is(0L)); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(0L)); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(0L)); TimeUtil.setCurrentDateTime(new DateTime(0L)); assertThat(TimeUtil.getCurrentTime(), is(0L)); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(0L)); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(0L)); TimeUtil.resetCurrentDate(); assertThat(TimeUtil.getCurrentTime(), is(not(0L))); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(not(0L))); assertThat(TimeUtil.getCurrentDateTime().getTime(), is(not(0L))); } @Test public void testCurrentDate2() { long d1 = TimeUtil.getCurrentTime(); long d2 = new Date().getTime(); long d3 = TimeUtil.getCurrentTime(); long d4 = new Date().getTime(); assertThat(d1, lessThanOrEqualTo(d2)); assertThat(d2, lessThanOrEqualTo(d3)); assertThat(d3, lessThanOrEqualTo(d4)); } @Test public void testToCreate() { DateTime dt = TimeUtil.create(1970, 1, 1, 9, 0, 0); assertThat(dt.getTime(), is(0L)); } @Test public void dateConverterTest() { DateTime date1 = TimeUtil.getCurrentDateTime(); DateTime date2 = TimeUtil.dateTimeFromTimeString(TimeUtil.getTimeString(date1)); Assert.assertEquals(date1, date2); } @Test public void dateConverterCornerTest1() { DateTime date1 = new DateTime(Long.MAX_VALUE); DateTime date2 = TimeUtil.dateTimeFromTimeString(TimeUtil.getTimeString(date1)); Assert.assertEquals(date1, date2); } @Test public void dateConverterCornerTest2() { DateTime date1 = new DateTime(0); DateTime date2 = TimeUtil.dateTimeFromTimeString(TimeUtil.getTimeString(date1)); Assert.assertEquals(date1, date2); } }