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));
}
}