@Test public void testParseRepeatablePeriodOnly() { String isoString = "R/PT1M"; long[] parsedRepeatable = DateTimeUtils.parseRepeatableDateTime(isoString); assertEquals(-1L, parsedRepeatable[0]); // Default delay time is 1000ms assertEquals(1000L, parsedRepeatable[1]); assertEquals("Parsed period should be one minute in milliseconds but is " + parsedRepeatable[2], MINUTE_IN_MILLISECONDS, parsedRepeatable[2]); } }
DateTimeUtils.parseRepeatableDateTime(timer.getDelay()); DateTimeUtils.parseRepeatableDateTime(timer.getPeriod());
@Test public void testParseRepeatableStartDateTimeAndPeriod() { OffsetDateTime oneMinuteFromNow = OffsetDateTime.now().plusMinutes(1); String oneMinuteFromNowFormatted = oneMinuteFromNow.format(DateTimeFormatter.ISO_DATE_TIME); String isoString = "R5/" + oneMinuteFromNowFormatted + "/PT1M"; long[] parsedRepeatable = DateTimeUtils.parseRepeatableDateTime(isoString); assertEquals(5L, parsedRepeatable[0]); assertTrue("Parsed delay is bigger than " + MINUTE_IN_MILLISECONDS, parsedRepeatable[1] <= MINUTE_IN_MILLISECONDS); assertTrue("Parsed delay is too low! Expected value is between " + MINUTE_IN_MILLISECONDS + " and " + FIFTY_NINE_SECONDS_IN_MILLISECONDS + " but is " + parsedRepeatable[1], parsedRepeatable[1] > FIFTY_NINE_SECONDS_IN_MILLISECONDS); assertEquals("Parsed period should be one minute in milliseconds but is " + parsedRepeatable[2], MINUTE_IN_MILLISECONDS, parsedRepeatable[2]); }
@Test public void testParseRepeatablePeriodAndEndDateTime() { OffsetDateTime twoMinutesFromNow = OffsetDateTime.now().plusMinutes(2); String twoMinutesFromNowFormatted = twoMinutesFromNow.format(DateTimeFormatter.ISO_DATE_TIME); String isoString = "R5/PT1M/" + twoMinutesFromNowFormatted; long[] parsedRepeatable = DateTimeUtils.parseRepeatableDateTime(isoString); assertEquals(5L, parsedRepeatable[0]); assertTrue("Parsed delay is bigger than " + MINUTE_IN_MILLISECONDS, parsedRepeatable[1] <= MINUTE_IN_MILLISECONDS); assertTrue("Parsed delay is too low! Expected value is between " + MINUTE_IN_MILLISECONDS + " and " + FIFTY_NINE_SECONDS_IN_MILLISECONDS + " but is " + parsedRepeatable[1], parsedRepeatable[1] > FIFTY_NINE_SECONDS_IN_MILLISECONDS); assertEquals("Parsed period should be one minute in milliseconds but is " + parsedRepeatable[2], MINUTE_IN_MILLISECONDS, parsedRepeatable[2]); }
@Test public void testParseRepeatableStartEndDateTime() { OffsetDateTime oneMinuteFromNow = OffsetDateTime.now().plusMinutes(1); OffsetDateTime twoMinutesFromNow = oneMinuteFromNow.plusMinutes(1); String oneMinuteFromNowFormatted = oneMinuteFromNow.format(DateTimeFormatter.ISO_DATE_TIME); String twoMinutesFromNowFormatted = twoMinutesFromNow.format(DateTimeFormatter.ISO_DATE_TIME); String isoString = "R5/" + oneMinuteFromNowFormatted + "/" + twoMinutesFromNowFormatted; long[] parsedRepeatable = DateTimeUtils.parseRepeatableDateTime(isoString); assertEquals(5L, parsedRepeatable[0]); assertTrue("Parsed delay is bigger than " + MINUTE_IN_MILLISECONDS, parsedRepeatable[1] <= MINUTE_IN_MILLISECONDS); assertTrue("Parsed delay is too low! Expected value is between " + MINUTE_IN_MILLISECONDS + " and " + FIFTY_NINE_SECONDS_IN_MILLISECONDS + " but is " + parsedRepeatable[1], parsedRepeatable[1] > FIFTY_NINE_SECONDS_IN_MILLISECONDS); assertEquals("Parsed period should be one minute in milliseconds but is " + parsedRepeatable[2], MINUTE_IN_MILLISECONDS, parsedRepeatable[2]); }
case Timer.TIME_CYCLE: long[] repeatValues = DateTimeUtils.parseRepeatableDateTime(timer.getDelay()); if (repeatValues.length == 3) { int parsedReapedCount = (int)repeatValues[0];
repeatValues = DateTimeUtils.parseRepeatableDateTime(timer.getDelay()); } catch (RuntimeException e) { repeatValues = DateTimeUtils.parseRepeatableDateTime(resolvedDelay);
DateTimeUtils.parseRepeatableDateTime(timer.getDelay()); DateTimeUtils.parseRepeatableDateTime(timer.getPeriod());
case Timer.TIME_CYCLE: long[] repeatValues = DateTimeUtils.parseRepeatableDateTime(timer.getDelay()); if (repeatValues.length == 3) { int parsedReapedCount = (int)repeatValues[0];
repeatValues = DateTimeUtils.parseRepeatableDateTime(timer.getDelay()); } catch (RuntimeException e) { repeatValues = DateTimeUtils.parseRepeatableDateTime(resolvedDelay);