package mf; /*Generated by MPS */ import junit.framework.TestCase; import junit.framework.Assert; import junit.textui.TestRunner; import junit.framework.TestSuite; public class DateRangeTester extends TestCase { /*package*/ MfDate myDec15 = new MfDate(1999, 12, 15); /*package*/ MfDate myJan2 = new MfDate(2000, 1, 2); /*package*/ MfDate myJan10 = new MfDate(2000, 1, 10); /*package*/ MfDate myJan11 = new MfDate(2000, 1, 11); /*package*/ MfDate myJan15 = new MfDate(2000, 1, 15); /*package*/ MfDate myDec14 = new MfDate(1999, 12, 14); /*package*/ MfDate myJan16 = new MfDate(2000, 1, 16); /*package*/ MfDate myJan1 = new MfDate(2000, 1, 1); /*package*/ MfDate myFeb2 = new MfDate(2000, 2, 2); /*package*/ MfDate myFeb3 = new MfDate(2000, 2, 3); /*package*/ MfDate myFeb8 = new MfDate(2000, 2, 8); /*package*/ MfDate myFeb9 = new MfDate(2000, 2, 9); /*package*/ DateRange myR15_15 = new DateRange(myDec15, myJan15); /*package*/ DateRange myR15_16 = new DateRange(myJan15, myJan16); /*package*/ DateRange myR16_2 = new DateRange(myJan16, myFeb2); /*package*/ DateRange myR1_16 = new DateRange(myJan1, myJan16); /*package*/ DateRange myR1_15 = new DateRange(myJan1, myJan15); /*package*/ DateRange myR1_10 = new DateRange(myJan1, myJan10); /*package*/ DateRange myR2_2 = new DateRange(myFeb2, myFeb2); /*package*/ DateRange myF3_9 = new DateRange(myFeb3, myFeb9); /*package*/ DateRange myJ1_f9 = new DateRange(myJan1, myFeb9); /*package*/ DateRange myJ2_15 = new DateRange(myJan2, myJan15); /*package*/ DateRange myF3_8 = new DateRange(myFeb3, myFeb8); /*package*/ DateRange[] myComplete = {myR1_15, myR16_2, myF3_9}; /*package*/ DateRange[] myWithGap = {myR1_15, myF3_9}; /*package*/ DateRange[] myOverlap = {myR1_15, myR1_10, myR16_2, myF3_9}; public DateRangeTester(String arg) { super(arg); } public void testBasic() { Assert.assertTrue(myR15_15.includes(myJan1)); Assert.assertTrue(myR15_15.includes(myJan15)); Assert.assertTrue(myR15_15.includes(myDec15)); Assert.assertTrue(!(myR15_15.includes(myJan16))); Assert.assertTrue(!(myR15_15.includes(myDec14))); } public void testOneDate() { Assert.assertTrue(myR2_2.includes(myFeb2)); Assert.assertTrue(myR2_2.includes(myR2_2)); Assert.assertTrue(myR16_2.includes(myR2_2)); } public void testEmpty() { Assert.assertTrue(!(myR15_15.isEmpty())); Assert.assertTrue(!(new DateRange(myDec15, myDec15).isEmpty())); Assert.assertTrue(new DateRange(myDec15, myDec14).isEmpty()); Assert.assertTrue(DateRange.EMPTY.isEmpty()); } public void testOverlaps() { Assert.assertTrue(myR1_15.overlaps(myR1_16)); Assert.assertTrue(myR1_16.overlaps(myR1_15)); Assert.assertTrue(myR15_15.overlaps(myR15_15)); Assert.assertTrue(myR15_15.overlaps(myR1_15)); Assert.assertTrue(myR15_15.overlaps(myR15_16)); Assert.assertTrue(myR15_16.overlaps(myR15_15)); Assert.assertTrue(!(myR15_15.overlaps(myR16_2))); Assert.assertTrue(!(myR16_2.overlaps(myR15_15))); } public void testIncludesRange() { Assert.assertTrue(myR15_15.includes(myR15_15)); Assert.assertTrue(myR15_15.includes(myR1_15)); Assert.assertTrue(!(myR1_15.includes(myR15_15))); Assert.assertTrue(!(myR1_16.includes(myR15_15))); } public void testEquals() { Assert.assertEquals(myR1_15, new DateRange(myJan1, myJan15)); Assert.assertTrue(!(myR1_15.equals(myR1_16))); Assert.assertTrue(!(myR15_15.equals(myR15_16))); } public void testCompare() { Assert.assertTrue(myDec15.compareTo(myJan1) < 0); Assert.assertTrue(myR15_15.compareTo(myR1_15) < 0); Assert.assertTrue(myR1_15.compareTo(myR1_16) < 0); Assert.assertTrue(myR1_15.compareTo(myR1_15) == 0); Assert.assertTrue(myR1_16.compareTo(myR1_15) > 0); Assert.assertTrue(myR15_15.compareTo(myR1_10) < 0); } public void testGap() { DateRange expected = new DateRange(myJan11, myJan15); Assert.assertEquals(expected, myR1_10.gap(myR16_2)); Assert.assertEquals(expected, myR16_2.gap(myR1_10)); Assert.assertTrue(myR15_15.gap(myR1_10).isEmpty()); Assert.assertTrue(myR1_15.gap(myR15_16).isEmpty()); Assert.assertTrue(myR1_15.gap(myR16_2).isEmpty()); } public void testAbuts() { Assert.assertTrue(myR1_15.abuts(myR16_2)); Assert.assertTrue(myR16_2.abuts(myR1_15)); Assert.assertTrue(!(myR1_15.abuts(myR15_15))); Assert.assertTrue(!(myR1_10.abuts(myR15_16))); } public void testCombine() { Assert.assertEquals(myJ1_f9, DateRange.combination(myComplete)); } public void testContiguous() { Assert.assertTrue(DateRange.isContiguous(myComplete)); Assert.assertTrue(!(DateRange.isContiguous(myWithGap))); Assert.assertTrue(!(DateRange.isContiguous(myOverlap))); } public void testPartition() { Assert.assertTrue(myJ1_f9.partitionedBy(myComplete)); Assert.assertTrue(!(myJ1_f9.partitionedBy(myWithGap))); Assert.assertTrue(!(myJ1_f9.partitionedBy(myOverlap))); DateRange[] off_end = {myR15_15, myR16_2, myF3_9}; Assert.assertTrue(!(myJ1_f9.partitionedBy(off_end))); DateRange[] missingStart = {myJ2_15, myR16_2, myF3_9}; Assert.assertTrue(!(myJ1_f9.partitionedBy(missingStart))); DateRange[] missingEnd = {myR1_15, myR16_2, myF3_8}; Assert.assertTrue(!(myJ1_f9.partitionedBy(missingEnd))); } public void testStarting() { DateRange dr = DateRange.startingOn(myDec15); Assert.assertTrue(dr.includes(myJan2)); } public static void main(String[] args) { TestRunner.run(new TestSuite(DateRangeTester.class)); } }