package edu.stanford.nlp.time;
import static org.junit.Assert.*;
import junit.framework.TestSuite;
import org.junit.Test;
import edu.stanford.nlp.time.SUTime;
import edu.stanford.nlp.time.SUTime.IsoDate;
public class DurationTest extends TestSuite {
@Test
public void testDurationContainsDuration(){
SUTime.Range range1 = new SUTime.Range(new IsoDate(1990, 2, 1), new IsoDate(1990, 2, 28)); // 1.2.1990 - 28.2.1990
SUTime.Range range2 = new SUTime.Range(new IsoDate(1990, 2, 3), new IsoDate(1990, 2, 25)); // 3.2.1990 - 25.2.1990
SUTime.Range range3 = new SUTime.Range(new IsoDate(1990, 1, 3), new IsoDate(1990, 2, 25)); // 3.1.1990 - 25.2.1990
SUTime.Range range4 = new SUTime.Range(new IsoDate(1990, 2, 3), new IsoDate(1990, 3, 25)); // 3.2.1990 - 25.3.1990
assertEquals(range1.contains(range2), true); // 1-28. February contains 3-25 February
assertEquals(range1.contains(range1), true); // 1-28. Feb. contains 1-28 Feb
assertEquals(range2.contains(range1), false); //3-25 February contains not 1-28. February
assertEquals(range1.contains(range3), false); //1-28 Feb. contains not 3.1 - 25.2 (partially overlapping before)
assertEquals(range3.contains(range1), false);
assertEquals(range1.contains(range4), false); //1-28 Feb. contains not 3.2 - 25.3 (partially overlapping after)
assertEquals(range1.contains(range4), false);
}
@Test
public void testDurationContainsTime(){
SUTime.Range range1 = new SUTime.Range(new IsoDate(1990, 2, 1), new IsoDate(1990, 2, 28)); // 1.2.1990 - 28.2.1990
assertEquals(range1.contains(new IsoDate(1990, 2, 1)), true);
assertEquals(range1.contains(new IsoDate(1990, 2, 2)), true);
assertEquals(range1.contains(new IsoDate(1990, 1, 2)), false);
assertEquals(range1.contains(new IsoDate(1990, 3, 1)), false);
}
}