@Test public void testFormatObjectStringBuilderDefaultPattern() { final DatePatternConverter converter = DatePatternConverter.newInstance(null); final StringBuilder sb = new StringBuilder(); converter.format("nondate", sb); final String expected = ""; // only process dates assertEquals(expected, sb.toString()); }
@Test public void testFormatLogEventStringBuilderIso8601TimezoneUTC() { final LogEvent event = new MyLogEvent(); final DatePatternConverter converter = DatePatternConverter.newInstance(new String[] {"ISO8601", "UTC"}); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); final TimeZone tz = TimeZone.getTimeZone("UTC"); final SimpleDateFormat sdf = new SimpleDateFormat(converter.getPattern()); sdf.setTimeZone(tz); final long adjusted = event.getTimeMillis() + tz.getDSTSavings(); final String expected = sdf.format(new Date(adjusted)); // final String expected = "2011-12-30T09:56:35,987"; 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 testFormatLogEventStringBuilderIso8601() { final LogEvent event = new MyLogEvent(); final DatePatternConverter converter = DatePatternConverter.newInstance(ISO8601_FORMAT_OPTIONS); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); final String expected = "2011-12-30T10:56:35,987"; 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 testFormatLogEventStringBuilderDefaultPattern() { final LogEvent event = new MyLogEvent(); final DatePatternConverter converter = DatePatternConverter.newInstance(null); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); final String expected = "2011-12-30 10:56:35,987"; 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 testGetPatternReturnsNullForUnix() { final String[] options = {"UNIX"}; assertNull(DatePatternConverter.newInstance(options).getPattern()); }
@Test public void testGetPatternReturnsNullForUnixMillis() { final String[] options = {"UNIX_MILLIS"}; assertNull(DatePatternConverter.newInstance(options).getPattern()); }
@Test public void testGetPatternReturnsDefaultForTwoNullElementsOptionsArray() { assertEquals(DEFAULT_PATTERN, DatePatternConverter.newInstance(new String[2]).getPattern()); }
@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()); }
@Test public void testGetPatternReturnsDefaultForInvalidPattern() { final String[] invalid = {"ABC I am not a valid date pattern"}; assertEquals(DEFAULT_PATTERN, DatePatternConverter.newInstance(invalid).getPattern()); }
@Test public void testGetPatternReturnsDefaultForNullOptions() { assertEquals(DEFAULT_PATTERN, DatePatternConverter.newInstance(null).getPattern()); }
@Test public void testGetPatternReturnsDefaultForEmptyOptionsArray() { assertEquals(DEFAULT_PATTERN, DatePatternConverter.newInstance(new String[0]).getPattern()); }
@Test public void testGetPatternReturnsDefaultForSingleNullElementOptionsArray() { assertEquals(DEFAULT_PATTERN, DatePatternConverter.newInstance(new String[1]).getPattern()); }
@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 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 testPredefinedFormatWithoutTimezone() { for (final FixedDateFormat.FixedFormat format : FixedDateFormat.FixedFormat.values()) { final String[] options = {format.name()}; final DatePatternConverter converter = DatePatternConverter.newInstance(options); assertEquals(format.getPattern(), converter.getPattern()); } }
@Test public void testPredefinedFormatWithTimezone() { for (final FixedDateFormat.FixedFormat format : FixedDateFormat.FixedFormat.values()) { final String[] options = {format.name(), "PDT"}; // Pacific Daylight Time=UTC-8:00 final DatePatternConverter converter = DatePatternConverter.newInstance(options); assertEquals(format.getPattern(), converter.getPattern()); } }