private static CurveNodeDateOrder parseDateOrder(String minGapStr, String clashActionStr) { CurveNodeClashAction clashAction = clashActionStr.isEmpty() ? CurveNodeClashAction.EXCEPTION : CurveNodeClashAction.of(clashActionStr); if (minGapStr.isEmpty()) { return CurveNodeDateOrder.of(1, clashAction); } Matcher matcher = SIMPLE_DAYS_REGEX.matcher(minGapStr.toUpperCase(Locale.ENGLISH)); if (!matcher.matches()) { throw new IllegalArgumentException(Messages.format( "Invalid days format for minimum gap, should be 2D or P2D: {}", minGapStr)); } Period minGap = Period.parse("P" + matcher.group(1)); return CurveNodeDateOrder.of(minGap.getDays(), clashAction); }
@Test(dataProvider = "name") public void test_toString(CurveNodeClashAction convention, String name) { assertEquals(convention.toString(), name); }
@Test(dataProvider = "name") public void test_of_lookup(CurveNodeClashAction convention, String name) { assertEquals(CurveNodeClashAction.of(name), convention); }
public void test_of_lookup_notFound() { assertThrowsIllegalArg(() -> CurveNodeClashAction.of("Rubbish")); }
public void test_of_lookup_null() { assertThrowsIllegalArg(() -> CurveNodeClashAction.of(null)); }