@Test
public void testParseRepeatablePeriodPnYnMnWnDTnHnMnOnly() {

    OffsetDateTime now = OffsetDateTime.now();
    long expectedMillis = Duration.between(now, now.plus(10, ChronoUnit.YEARS).plus(10, ChronoUnit.MONTHS).plus(10, ChronoUnit.WEEKS)
            .plus(10, ChronoUnit.DAYS).plus(10, ChronoUnit.HOURS).plus(10, ChronoUnit.MINUTES).plus(10, ChronoUnit.SECONDS)).toMillis();
    String isoString = "R/P10Y10M10W10DT10H10M10S"; // ISO-8601 PnYnMnWnDTnHnMn.nS
    long[] parsedRepeatable = DateTimeUtils.parseRepeatableDateTime(isoString);
    assertEquals(-1L, parsedRepeatable[0]);
    assertTrue("Parsed delay is bigger than " + expectedMillis, parsedRepeatable[1] <= expectedMillis);
    assertTrue(
            "Parsed delay is too low! Expected value is between " + expectedMillis + " and " + (expectedMillis - 1000) + " but is " + parsedRepeatable[1],
            parsedRepeatable[1] > expectedMillis - 1000);
    assertEquals("Parsed period should be 10 years, 10 months, 10 weeks, 10 days, 10 hours, 10 minutes and 10 seconds in milliseconds but is " + parsedRepeatable[2], expectedMillis, parsedRepeatable[2]);
}