@Test public void testFormatStringBuilderObjectArrayDefaultPattern() { final DatePatternConverter converter = DatePatternConverter.newInstance(null); final StringBuilder sb = new StringBuilder(); converter.format(sb, date(2001, 1, 1), date(2002, 2, 2), date(2003, 3, 3)); final String expected = "2001-02-01 14:15:16,123"; // only process first date assertEquals(expected, sb.toString()); }
@Test public void testPredefinedFormatWithAnyValidNanoPrecision() { final StringBuilder precise = new StringBuilder(); final StringBuilder milli = new StringBuilder(); final LogEvent event = new MyLogEvent(); for (String timeZone : new String[]{"PDT", null}) { // Pacific Daylight Time=UTC-8:00 for (final FixedDateFormat.FixedFormat format : FixedDateFormat.FixedFormat.values()) { for (int i = 1; i <= 9; i++) { if (format.getPattern().endsWith("n")) { continue; // ignore patterns that already have precise time formats } precise.setLength(0); milli.setLength(0); final String[] preciseOptions = {precisePattern(format.getPattern(), i), timeZone}; final DatePatternConverter preciseConverter = DatePatternConverter.newInstance(preciseOptions); preciseConverter.format(event, precise); final String[] milliOptions = {format.getPattern(), timeZone}; DatePatternConverter.newInstance(milliOptions).format(event, milli); milli.setLength(milli.length() - 3); // truncate millis String expected = milli.append("987123456".substring(0, i)).toString(); assertEquals(expected, precise.toString()); //System.out.println(preciseOptions[0] + ": " + precise); } } } }
@Test public void testFormatStringBuilderObjectArrayIso8601() { final DatePatternConverter converter = DatePatternConverter.newInstance(ISO8601_FORMAT_OPTIONS); final StringBuilder sb = new StringBuilder(); converter.format(sb, date(2001, 1, 1), date(2002, 2, 2), date(2003, 3, 3)); final String expected = "2001-02-01T14:15:16,123"; // only process first date assertEquals(expected, sb.toString()); }
@Test public void testFormatDateStringBuilderDefaultPattern() { final DatePatternConverter converter = DatePatternConverter.newInstance(null); final StringBuilder sb = new StringBuilder(); converter.format(date(2001, 1, 1), sb); final String expected = "2001-02-01 14:15:16,123"; assertEquals(expected, sb.toString()); }
@Test public void testFormatDateStringBuilderIso8601() { final DatePatternConverter converter = DatePatternConverter.newInstance(ISO8601_FORMAT_OPTIONS); final StringBuilder sb = new StringBuilder(); converter.format(date(2001, 1, 1), sb); final String expected = "2001-02-01T14:15:16,123"; assertEquals(expected, sb.toString()); }
@Test public void testFormatDateStringBuilderOriginalPattern() { final String[] pattern = {"yyyy/MM/dd HH-mm-ss.SSS"}; final DatePatternConverter converter = DatePatternConverter.newInstance(pattern); final StringBuilder sb = new StringBuilder(); converter.format(date(2001, 1, 1), sb); final String expected = "2001/02/01 14-15-16.123"; assertEquals(expected, sb.toString()); }
@Test public void testFormatDateStringBuilderIso8601WithPeriod() { final String[] pattern = {FixedDateFormat.FixedFormat.ISO8601_PERIOD.name()}; final DatePatternConverter converter = DatePatternConverter.newInstance(pattern); final StringBuilder sb = new StringBuilder(); converter.format(date(2001, 1, 1), sb); final String expected = "2001-02-01T14:15:16.123"; assertEquals(expected, sb.toString()); }
@Test public void testFormatDateStringBuilderIso8601BasicWithPeriod() { final String[] pattern = {FixedDateFormat.FixedFormat.ISO8601_BASIC_PERIOD.name()}; final DatePatternConverter converter = DatePatternConverter.newInstance(pattern); final StringBuilder sb = new StringBuilder(); converter.format(date(2001, 1, 1), sb); final String expected = "20010201T141516.123"; assertEquals(expected, sb.toString()); }