### Question:
LoaderUtils { public static PayReceive parsePayReceive(String str) { switch (str.toUpperCase(Locale.ENGLISH)) { case "PAY": case "P": return PayReceive.PAY; case "RECEIVE": case "REC": case "R": return PayReceive.RECEIVE; default: throw new IllegalArgumentException( "Unknown PayReceive value, must be 'Pay' or 'Receive' but was '" + str + "'; " + "parser is case insensitive and also accepts 'P', 'Rec' and 'R'"); } } 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_parsePayReceive() { assertThat(LoaderUtils.parsePayReceive("PAY")).isEqualTo(PayReceive.PAY); assertThat(LoaderUtils.parsePayReceive("Pay")).isEqualTo(PayReceive.PAY); assertThat(LoaderUtils.parsePayReceive("pay")).isEqualTo(PayReceive.PAY); assertThat(LoaderUtils.parsePayReceive("p")).isEqualTo(PayReceive.PAY); assertThat(LoaderUtils.parsePayReceive("RECEIVE")).isEqualTo(PayReceive.RECEIVE); assertThat(LoaderUtils.parsePayReceive("Receive")).isEqualTo(PayReceive.RECEIVE); assertThat(LoaderUtils.parsePayReceive("receive")).isEqualTo(PayReceive.RECEIVE); assertThat(LoaderUtils.parsePayReceive("rec")).isEqualTo(PayReceive.RECEIVE); assertThat(LoaderUtils.parsePayReceive("r")).isEqualTo(PayReceive.RECEIVE); assertThatIllegalArgumentException().isThrownBy(() -> LoaderUtils.parsePayReceive("Rubbish")); }