private void assertDefinition(RatesCurveGroupDefinition defn) {
assertEquals(defn.getName(), CurveGroupName.of("Default"));
assertEquals(defn.getEntries().size(), 3);
assertEquals(defn.getSeasonalityDefinitions().size(), 1);
assertEquals(defn.getSeasonalityDefinitions().get(CurveName.of("USD-CPI")).getAdjustmentType(), ShiftType.SCALED);
RatesCurveGroupEntry entry0 = findEntry(defn, "USD-Disc");
RatesCurveGroupEntry entry1 = findEntry(defn, "USD-3ML");
RatesCurveGroupEntry entry2 = findEntry(defn, "USD-CPI");
CurveDefinition defn0 = defn.findCurveDefinition(entry0.getCurveName()).get();
CurveDefinition defn1 = defn.findCurveDefinition(entry1.getCurveName()).get();
CurveDefinition defn2 = defn.findCurveDefinition(entry2.getCurveName()).get();
assertEquals(entry0.getDiscountCurrencies(), ImmutableSet.of(Currency.USD));
assertEquals(entry0.getIndices(), ImmutableSet.of());
assertEquals(defn0.getName(), CurveName.of("USD-Disc"));
assertEquals(defn0.getYValueType(), ValueType.ZERO_RATE);
assertEquals(defn0.getParameterCount(), 17);
assertEquals(entry1.getDiscountCurrencies(), ImmutableSet.of());
assertEquals(entry1.getIndices(), ImmutableSet.of(IborIndices.USD_LIBOR_3M));
assertEquals(defn1.getName(), CurveName.of("USD-3ML"));
assertEquals(defn1.getYValueType(), ValueType.ZERO_RATE);
assertEquals(defn1.getParameterCount(), 27);
assertEquals(entry2.getDiscountCurrencies(), ImmutableSet.of());
assertEquals(entry2.getIndices(), ImmutableSet.of(PriceIndices.US_CPI_U));
assertEquals(defn2.getName(), CurveName.of("USD-CPI"));
assertEquals(defn2.getYValueType(), ValueType.PRICE_INDEX);
assertEquals(defn2.getParameterCount(), 2);
}