@Test public void givenStringDateInISOFormat_WhenTimeZoneIsUTC_ThenUTCPlusOneTimeIsOneHourMore() { // This test exercises UTC (API) vs British Summer Time (UTC + 1) SimpleDateFormatThreadSafe formatter = givenFormatterForTimeZone(timeZoneUTC()); Date date = parseTestDate("2016-01-01T10:00:00Z", formatter); assertEquals(date, createDate(2016, Calendar.JANUARY, 1, 11, timeZoneUTCPlusOne())); }
@Test public void givenStringDateInISOFormat_WhenTimeZoneIsUTC_ThenUTCTimeIsTheSame() { SimpleDateFormatThreadSafe formatter = givenFormatterForTimeZone(timeZoneUTC()); Date date = parseTestDate("2016-01-01T10:00:00Z", formatter); assertEquals(date, createUTCDate(2016, Calendar.JANUARY, 1, 10)); }
@Test public void givenStringDateInISOFormat_WhenTimeZoneIsUTCPlusOne_ThenUTCTimeIsOneHourLess() { SimpleDateFormatThreadSafe formatter = givenFormatterForTimeZone(timeZoneUTCPlusOne()); Date date = parseTestDate("2016-01-01T10:00:00Z", formatter); assertEquals(date, createUTCDate(2016, Calendar.JANUARY, 1, 9)); }
@Test public void givenStringDateInISOFormat_WhenTimeZoneIsUTCPlusTwo_ThenUTCTimeIsTwoHoursLess() { SimpleDateFormatThreadSafe formatter = givenFormatterForTimeZone(timeZoneUTCPlusTwo()); Date date = parseTestDate("2016-01-01T10:00:00Z", formatter); assertEquals(date, createUTCDate(2016, Calendar.JANUARY, 1, 8)); }
@Test public void givenStringDateInISOFormat_WhenTimeZoneIsUTCMinusOne_ThenUTCTimeIsOneHourMore() { SimpleDateFormatThreadSafe formatter = givenFormatterForTimeZone(timeZoneUTCMinusOne()); Date date = parseTestDate("2016-01-01T10:00:00Z", formatter); assertEquals(date, createUTCDate(2016, Calendar.JANUARY, 1, 11)); }
@Test public void givenStringDateInISOFormat_WhenTimeZoneIsPST_ThenUTCTimeIsSevenHoursLess() { SimpleDateFormatThreadSafe formatter = givenFormatterForTimeZone(timeZonePST()); Date date = parseTestDate("2016-01-01T10:00:00Z", formatter); assertEquals(date, createUTCDate(2016, Calendar.JANUARY, 1, 18)); }