public void testConvertHHMMInteger() { assertEquals( 12*3600.0 + 34*60.0, Time.convertHHMMInteger(Integer.valueOf("1234")), 0.0); assertEquals( 1*3600.0 + 2*60.0, Time.convertHHMMInteger(Integer.valueOf("0102")), 0.0); }
public void testUndefined() { // test writing assertEquals("undefined", Time.writeTime(Time.UNDEFINED_TIME)); // test reading assertEquals(Time.UNDEFINED_TIME, Time.parseTime("undefined"), 0.0); assertEquals(Time.UNDEFINED_TIME, Time.parseTime(""), 0.0); assertEquals(Time.UNDEFINED_TIME, Time.parseTime(null), 0.0); }
public void testParsing() { assertEquals( 12*3600.0 + 34*60.0 + 56.0, Time.parseTime( "12:34:56"), 0.0); assertEquals( 12*3600.0 + 34*60.0 + 56.7, Time.parseTime( "12:34:56.7"), 0.0); assertEquals( 1*3600.0 + 2*60.0 + 3.0, Time.parseTime( "01:02:03"), 0.0); assertEquals(-12*3600.0 - 34*60.0 - 56.0, Time.parseTime("-12:34:56"), 0.0); assertEquals(-12*3600.0 - 34*60.0 - 56.7, Time.parseTime("-12:34:56.7"), 0.0); assertEquals(0.0, Time.parseTime("00:00:00"), 0.0); assertEquals(Integer.MIN_VALUE, Time.parseTime("-596523:14:08"), 0.0); /* test for parsing hours greater than 2^31-1 (i.e. hour of type long) */ assertEquals(Long.MAX_VALUE, Time.parseTime("2562047788015215:28:07"), 0.0); }
public void testSeparators() { // test writing double dTime = 12*3600 + 34*60 + 56.789; assertEquals("12:34:56", Time.writeTime(dTime, ':')); assertEquals("12/34/56", Time.writeTime(dTime, '/')); assertEquals("12-34-56", Time.writeTime(dTime, '-')); // test reading double iTime = 12*3600 + 34*60 + 56; assertEquals(iTime, Time.parseTime( "12:34:56", ':'), 0.0); assertEquals(iTime, Time.parseTime( "12/34/56", '/'), 0.0); assertEquals(iTime, Time.parseTime( "12-34-56", '-'), 0.0); // test reading negative times assertEquals(-iTime, Time.parseTime( "-12:34:56", ':'), 0.0); assertEquals(-iTime, Time.parseTime( "-12/34/56", '/'), 0.0); assertEquals(-iTime, Time.parseTime( "-12-34-56", '-'), 0.0); }
public void testWriting() { Time.setDefaultTimeFormat(Time.TIMEFORMAT_HHMMSS); assertEquals( "12:34:56", Time.writeTime( 12*3600 + 34*60 + 56.789));// positive assertEquals( "01:02:03", Time.writeTime( 1*3600 + 2*60 + 3.4)); // positive with leading zero assertEquals("-12:34:56", Time.writeTime(-12*3600 - 34*60 - 56.789)); // negative assertEquals("-01:02:03", Time.writeTime( -1*3600 - 2*60 - 3.4)); // negative with leading zero assertEquals( "00:00:00", Time.writeTime(0.0)); // zero /* Integer.MIN_VALUE is a special value in case time values would be represented by int's, and not double's. * Math.abs(Integer.MIN_VALUE) returns Integer.MIN_VALUE again, what could lead to a infinite loop depending * how negative times are handled internally. So this test should ensure this or a future implementation * does not have problems with that. */ assertEquals("-596523:14:08", Time.writeTime(Integer.MIN_VALUE)); }
public void testSetDefault() { Time.setDefaultTimeFormat(Time.TIMEFORMAT_HHMMSS); assertEquals("12:34:56", Time.writeTime(12*3600 + 34*60 + 56.789)); Time.setDefaultTimeFormat(Time.TIMEFORMAT_HHMM); assertEquals("12:34", Time.writeTime(12*3600 + 34*60 + 56.789)); Time.setDefaultTimeFormat(Time.TIMEFORMAT_SSSS); assertEquals(Integer.toString(12*3600 + 34*60 + 56), Time.writeTime(12*3600 + 34*60 + 56.789)); Time.setDefaultTimeFormat(Time.TIMEFORMAT_HHMMSSDOTSS); assertEquals("12:34:56.78", Time.writeTime(12*3600 + 34*60 + 56.789).substring(0, 11)); // (conversion to double of .789 looks like .788999999999... thus that dirty trick. // kai/gregor, nov'11) }
public void testFormats() { double time = 12*3600 + 34*60 + 56.789; assertEquals("12:34:56", Time.writeTime(time, Time.TIMEFORMAT_HHMMSS)); assertEquals("12:34", Time.writeTime(time, Time.TIMEFORMAT_HHMM)); assertEquals(Integer.toString((int)time), Time.writeTime(time, Time.TIMEFORMAT_SSSS)); try { // test unknown format String str = Time.writeTime(time, "ABCD"); } catch (IllegalArgumentException expected) {} assertEquals(12*3600.0 + 34*60.0 + 56.0, Time.parseTime("12:34:56"), 0.0);//HHMMSS assertEquals(12*3600.0 + 34*60.0 + 56.78, Time.parseTime("12:34:56.78"), 0.0);//HHMMSS, support parts of seconds assertEquals(12*3600.0 + 34*60.0, Time.parseTime("12:34"), 0.0);//HHMM assertEquals(12.0, Time.parseTime("12"), 0.0);//SSSS assertEquals(123456.0, Time.parseTime("123456"), 0.0);//SSSS assertEquals(123456.78, Time.parseTime("123456.78"), 0.0);//SSSS, support parts of seconds