public virtual void test_ofCurves_duplicateCurveName()
        {
            RatesCurveGroupDefinition definition = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("group")).addForwardCurve(IBOR_NAME, USD_LIBOR_1M, USD_LIBOR_2M).build();
            RatesCurveGroup           group      = RatesCurveGroup.ofCurves(definition, IBOR_CURVE, IBOR_CURVE);

            assertThat(group.findForwardCurve(USD_LIBOR_1M)).hasValue(IBOR_CURVE);
            assertThat(group.findForwardCurve(USD_LIBOR_2M)).hasValue(IBOR_CURVE);
        }
        public virtual void test_ofCurves()
        {
            RatesCurveGroupDefinition definition = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("group")).addCurve(DISCOUNT_NAME, GBP, GBP_LIBOR_1M).addForwardCurve(IBOR_NAME, USD_LIBOR_1M, USD_LIBOR_2M).addForwardCurve(OVERNIGHT_NAME, EUR_EONIA).build();
            RatesCurveGroup           group      = RatesCurveGroup.ofCurves(definition, DISCOUNT_CURVE, OVERNIGHT_CURVE, IBOR_CURVE);

            assertThat(group.findDiscountCurve(GBP)).hasValue(DISCOUNT_CURVE);
            assertThat(group.findForwardCurve(USD_LIBOR_1M)).hasValue(IBOR_CURVE);
            assertThat(group.findForwardCurve(USD_LIBOR_2M)).hasValue(IBOR_CURVE);
            assertThat(group.findForwardCurve(EUR_EONIA)).hasValue(OVERNIGHT_CURVE);
        }
        public virtual void test_builder()
        {
            RatesCurveGroup test = RatesCurveGroup.builder().name(NAME).discountCurves(DISCOUNT_CURVES).forwardCurves(IBOR_CURVES).build();

            assertThat(test.Name).isEqualTo(NAME);
            assertThat(test.DiscountCurves).isEqualTo(DISCOUNT_CURVES);
            assertThat(test.ForwardCurves).isEqualTo(IBOR_CURVES);
            assertThat(test.findDiscountCurve(GBP)).hasValue(DISCOUNT_CURVE);
            assertThat(test.findDiscountCurve(USD)).Empty;
            assertThat(test.findForwardCurve(GBP_LIBOR_3M)).hasValue(IBOR_CURVE);
            assertThat(test.findForwardCurve(CHF_LIBOR_3M)).Empty;
        }
        //-------------------------------------------------------------------------
        public virtual void test_of()
        {
            RatesCurveGroup test = RatesCurveGroup.of(NAME, DISCOUNT_CURVES, IBOR_CURVES);

            assertThat(test.Name).isEqualTo(NAME);
            assertThat(test.DiscountCurves).isEqualTo(DISCOUNT_CURVES);
            assertThat(test.ForwardCurves).isEqualTo(IBOR_CURVES);
            assertThat(test.findCurve(DISCOUNT_NAME)).hasValue(DISCOUNT_CURVE);
            assertThat(test.findCurve(IBOR_NAME)).hasValue(IBOR_CURVE);
            assertThat(test.findCurve(OVERNIGHT_NAME)).Empty;
            assertThat(test.findDiscountCurve(GBP)).hasValue(DISCOUNT_CURVE);
            assertThat(test.findDiscountCurve(USD)).Empty;
            assertThat(test.findForwardCurve(GBP_LIBOR_3M)).hasValue(IBOR_CURVE);
            assertThat(test.findForwardCurve(CHF_LIBOR_3M)).Empty;
        }