package edu.sc.seis.sod.tools;
import junit.framework.TestCase;
import com.martiansoftware.jsap.ParseException;
public class TimeParserTest extends TestCase {
public void setUp() {
floor = new TimeParser(false);
ceiling = new TimeParser(true);
}
public void testBasicTime() throws ParseException {
assertEquals("2006-11-19T00:00:00.000Z", floor.parse("2006-11-19"));
assertEquals("2006-11-19T23:59:59.999Z", ceiling.parse("2006-11-19"));
}
public void testFullTime() throws ParseException {
assertEquals("2002-07-02T12:30:15.000Z",
floor.parse("2002-07-02-12-30-15"));
assertEquals("2002-07-02T12:30:15.999Z",
ceiling.parse("2002-07-02-12-30-15"));
}
public void testCompactTime() throws ParseException {
assertEquals("2002-07-02T12:30:15.000Z", floor.parse("20020702123015"));
assertEquals("2002-07-02T12:30:15.999Z", ceiling.parse("20020702123015"));
}
public void testBadTime() {
try {
System.out.println(floor.parse("2006-111-19"));
fail("Shouldn't be able to parse a time like that");
} catch(ParseException pe) {
assertTrue(pe.getMessage().indexOf("2006-111-19") != -1);
}
}
public void testOnlyYear() throws ParseException {
assertEquals("2006-01-01T00:00:00.000Z", floor.parse("2006"));
assertEquals("2006-12-31T23:59:59.999Z", ceiling.parse("2006"));
}
public void testNow() throws ParseException {
assertEquals("<now/>", floor.parse("now"));
}
private TimeParser floor, ceiling;
}