### Question:
LoaderUtils { public static BigDecimal parseBigDecimal(String str) { try { return new BigDecimal(normalizeIfBracketed(str)); } catch (NumberFormatException ex) { NumberFormatException nfex = new NumberFormatException("Unable to parse BigDecimal from '" + str + "'"); nfex.initCause(ex); throw nfex; } } private  LoaderUtils(); static Index findIndex(String reference); static boolean parseBoolean(String str); static int parseInteger(String str); static double parseDouble(String str); static double parseDoublePercent(String str); static BigDecimal parseBigDecimal(String str); static BigDecimal parseBigDecimalPercent(String str); static LocalDate parseDate(String str, DateTimeFormatter... formatters); static LocalDate parseDate(String str); static YearMonth parseYearMonth(String str); static LocalTime parseTime(String str); static ZoneId parseZoneId(String str); static Period parsePeriod(String str); static Tenor parseTenor(String str); static Optional<Tenor> tryParseTenor(String str); static Frequency parseFrequency(String str); static Currency parseCurrency(String str); static Optional<Currency> tryParseCurrency(String str); static DayCount parseDayCount(String str); static BusinessDayConvention parseBusinessDayConvention(String str); static RollConvention parseRollConvention(String str); static BuySell parseBuySell(String str); static PayReceive parsePayReceive(String str); static PutCall parsePutCall(String str); static LongShort parseLongShort(String str); static final String DEFAULT_TRADE_SCHEME; static final String DEFAULT_POSITION_SCHEME; static final String DEFAULT_SECURITY_SCHEME; }### Answer:
@Test public void test_parseBigDecimal() { assertThat(LoaderUtils.parseBigDecimal("1.2")).isEqualTo(BigDecimal.valueOf(1.2d)); assertThat(LoaderUtils.parseBigDecimal("(1.2)")).isEqualTo(BigDecimal.valueOf(-1.2d)); assertThatIllegalArgumentException() .isThrownBy(() -> LoaderUtils.parseBigDecimal("()")) .withMessage("Unable to parse BigDecimal from '()'"); assertThatIllegalArgumentException() .isThrownBy(() -> LoaderUtils.parseBigDecimal("(1.2(3)")) .withMessage("Unable to parse BigDecimal from '(1.2(3)'"); assertThatIllegalArgumentException() .isThrownBy(() -> LoaderUtils.parseBigDecimal("Rubbish")) .withMessage("Unable to parse BigDecimal from 'Rubbish'"); }