//-------------------------------------------------------------------------
        public virtual void test_collectIndices()
        {
            OvernightAveragedDailyRateComputation test = OvernightAveragedDailyRateComputation.of(USD_FED_FUND, date(2016, 2, 24), date(2016, 3, 24), REF_DATA);

            ImmutableSet.Builder <Index> builder = ImmutableSet.builder();
            test.collectIndices(builder);
            assertEquals(builder.build(), ImmutableSet.of(USD_FED_FUND));
        }
        //-------------------------------------------------------------------------
        public virtual void coverage()
        {
            OvernightAveragedDailyRateComputation test = OvernightAveragedDailyRateComputation.of(USD_FED_FUND, date(2016, 2, 24), date(2016, 3, 24), REF_DATA);

            coverImmutableBean(test);
            OvernightAveragedDailyRateComputation test2 = OvernightAveragedDailyRateComputation.of(GBP_SONIA, date(2014, 6, 3), date(2014, 7, 3), REF_DATA);

            coverBeanEquals(test, test2);
        }
        public virtual void test_of_noRateCutoff()
        {
            OvernightAveragedDailyRateComputation test = OvernightAveragedDailyRateComputation.of(USD_FED_FUND, date(2016, 2, 24), date(2016, 3, 24), REF_DATA);

            assertEquals(test.StartDate, date(2016, 2, 24));
            assertEquals(test.EndDate, date(2016, 3, 24));
            assertEquals(test.Index, USD_FED_FUND);
            assertEquals(test.FixingCalendar, USD_FED_FUND.FixingCalendar.resolve(REF_DATA));
        }
        //-------------------------------------------------------------------------
        public virtual void test_calculate()
        {
            OvernightAveragedDailyRateComputation test = OvernightAveragedDailyRateComputation.of(USD_FED_FUND, date(2016, 2, 24), date(2016, 3, 24), REF_DATA);

            assertEquals(test.calculateEffectiveFromFixing(date(2016, 2, 24)), USD_FED_FUND.calculateEffectiveFromFixing(date(2016, 2, 24), REF_DATA));
            assertEquals(test.calculateFixingFromEffective(date(2016, 2, 24)), USD_FED_FUND.calculateFixingFromEffective(date(2016, 2, 24), REF_DATA));
            assertEquals(test.calculatePublicationFromFixing(date(2016, 2, 24)), USD_FED_FUND.calculatePublicationFromFixing(date(2016, 2, 24), REF_DATA));
            assertEquals(test.calculateMaturityFromFixing(date(2016, 2, 24)), USD_FED_FUND.calculateMaturityFromFixing(date(2016, 2, 24), REF_DATA));
            assertEquals(test.calculateMaturityFromEffective(date(2016, 2, 24)), USD_FED_FUND.calculateMaturityFromEffective(date(2016, 2, 24), REF_DATA));
        }
        public virtual void test_serialization()
        {
            OvernightAveragedDailyRateComputation test = OvernightAveragedDailyRateComputation.of(USD_FED_FUND, date(2016, 2, 24), date(2016, 3, 24), REF_DATA);

            assertSerialization(test);
        }
        public virtual void test_observeOn()
        {
            OvernightAveragedDailyRateComputation test = OvernightAveragedDailyRateComputation.of(USD_FED_FUND, date(2016, 2, 24), date(2016, 3, 24), REF_DATA);

            assertEquals(test.observeOn(date(2016, 2, 24)), OvernightIndexObservation.of(USD_FED_FUND, date(2016, 2, 24), REF_DATA));
        }
 public virtual void test_of_badDateOrder()
 {
     assertThrowsIllegalArg(() => OvernightAveragedDailyRateComputation.of(USD_FED_FUND, date(2016, 2, 24), date(2016, 2, 24), REF_DATA));
     assertThrowsIllegalArg(() => OvernightAveragedDailyRateComputation.of(USD_FED_FUND, date(2016, 2, 25), date(2016, 2, 24), REF_DATA));
 }