diff --git a/.classpath b/.classpath index 18d70f0..b10b8d9 100644 --- a/.classpath +++ b/.classpath @@ -2,5 +2,6 @@ + diff --git a/src/timeflow/date/time/test/IntervalTest.java b/src/timeflow/date/time/test/IntervalTest.java new file mode 100644 index 0000000..4a26b8d --- /dev/null +++ b/src/timeflow/date/time/test/IntervalTest.java @@ -0,0 +1,171 @@ +package timeflow.date.time.test; + +import static org.junit.Assert.*; + +import java.util.Date; + +import org.junit.Test; + +import timeflow.data.time.Interval; + +public class IntervalTest { + + @Test + public void testInterval() { + Interval i = new Interval(1L, 10L); + assertEquals(i.start, 1L); + assertEquals(i.end, 10L); + } + @Test + public void testCopy(){ + Interval i = new Interval(1L, 10L); + Interval j = new Interval(1L, 10L); + Interval k = i.copy(); + assertEquals(j.start, k.start); + assertEquals(j.end, k.end); + + } + @Test + public void testContains(){ + Interval i = new Interval(1L, 10L); + assertTrue(i.contains(1L)); + assertTrue(i.contains(2L)); + assertTrue(i.contains(3L)); + assertTrue(i.contains(4L)); + assertTrue(i.contains(5L)); + assertTrue(i.contains(6L)); + assertTrue(i.contains(7L)); + assertTrue(i.contains(8L)); + assertTrue(i.contains(9L)); + assertTrue(i.contains(10L)); + assertFalse(i.contains(11L)); + assertFalse(i.contains(12L)); + } + @Test + public void testIntersects1(){ + Interval i = new Interval(3L, 10L); + Interval x = new Interval(5L, 6L); + Interval y = new Interval(1L, 12L); + Interval z = new Interval(1L, 2L); + assertTrue(i.intersects(x)); + assertTrue(i.intersects(y)); + assertFalse(i.intersects(z)); + + + } + @Test + public void testIntersects2(){ + Interval i = new Interval(3L, 10L); + assertTrue(i.intersects(6L, 8L)); + assertTrue(i.intersects(1L, 12L)); + assertFalse(i.intersects(1L, 2L)); + + } + @Test + public void testSubInterval(){ + Interval i = new Interval(3L, 10L); + Interval j =i.subinterval(2, 5); + assertEquals(17L, j.start); + assertEquals(38L, j.end); + } + @Test + public void testSetTo1(){ + Interval i = new Interval(3L, 10L); + assertEquals(i.start, 3L); + assertEquals(i.end, 10L); + i.setTo(1L,9L); + assertEquals(i.start, 1L); + assertEquals(i.end, 9L); + + } + @Test + public void testSetTo2(){ + Interval i = new Interval(3L, 10L); + assertEquals(i.start, 3L); + assertEquals(i.end, 10L); + Interval x = new Interval(5L, 6L); + i.setTo(x); + assertEquals(i.start, 5L); + assertEquals(i.end, 6L); + } + @Test + public void testInclude1(){ + Interval i = new Interval(3L, 10L); + i.include(11L); + assertTrue(i.contains(11L)); + assertEquals(i.end, 11L); + i.include(5L); + assertEquals(i.start, 3L); + assertEquals(i.end, 11L); + i.include(1L); + assertEquals(i.start, 1L); + assertTrue(i.contains(1L)); + assertFalse(i.contains(12L)); + } + @Test + public void testInclude2(){ + Interval i = new Interval(3L, 10L); + Interval x = new Interval(5L, 6L); + assertFalse(x.contains(3L)); + assertFalse(x.contains(4L)); + assertFalse(x.contains(8L)); + x.include(i); + assertEquals(x.start, 3L); + assertEquals(x.end, 10L); + assertTrue(x.contains(3L)); + assertTrue(x.contains(9L)); + } + @Test + public void testExpand(){ + Interval i = new Interval(3L, 10L); + i.expand(1L); + assertEquals(i.start, 2L); + assertEquals(i.end, 11L); + } + @Test + public void testAdd(){ + Interval i = new Interval(3L, 10L); + i.add(1L); + assertEquals(i.start, 4L); + assertEquals(i.end, 11L); + } + @Test + public void testLength(){ + Interval i = new Interval(3L, 10L); + assertEquals(i.length(), 7L); + } + @Test + public void testTranslateTo(){ + Interval i = new Interval(3L, 10L); + i.translateTo(5L); + assertEquals(i.start, 5L); + assertEquals(i.end, 12L); + assertEquals(i.length(), 7L); + } + @Test + public void testIntersection(){ + Interval i = new Interval(3L, 10L); + Interval j = new Interval(5L, 11L); + i.intersection(j); + assertEquals(i.start, 5L); + assertEquals(i.end, 10L); + assertTrue(i.contains(5L)); + assertFalse(i.contains(11L)); + } + @Test + public void testClampInside(){ + Interval i = new Interval(3L, 9L); + Interval j = new Interval(5L, 11L); + i.clampInside(j); + assertEquals(i.start, 5L); + assertEquals(i.end, 11L); + assertTrue(i.intersects(j)); + } + @Test + public void testToString(){ + Interval i = new Interval(3L, 9L); + String x = "[Interval: From "+new Date(3L)+" to "+new Date(9L)+"]"; + assertEquals(x, i.toString()); + } + +} diff --git a/src/timeflow/date/time/test/TimeUtilsTest.java b/src/timeflow/date/time/test/TimeUtilsTest.java new file mode 100644 index 0000000..4a7d05b --- /dev/null +++ b/src/timeflow/date/time/test/TimeUtilsTest.java @@ -0,0 +1,29 @@ +package timeflow.date.time.test; + +import static org.junit.Assert.*; + +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; + +import org.junit.Test; + +import timeflow.data.time.TimeUtils; + +public class TimeUtilsTest { + + @Test + public void testCal1() { + Calendar c=new GregorianCalendar(); + c.setTimeInMillis(5L); + assertEquals(c, TimeUtils.cal(5L)); + } + @Test + public void testCal2(){ + Calendar c=new GregorianCalendar(); + @SuppressWarnings("deprecation") + Date date = new Date(95, 10, 10); + c.setTime(date); + assertEquals(c, TimeUtils.cal(date)); + } +}