public virtual void test_of_FunctionsParametersObject()
        {
            CalculationRules test = CalculationRules.of(FUNCTIONS, CalculationParameters.of(PARAM));

            assertEquals(test.Functions, FUNCTIONS);
            assertEquals(test.ReportingCurrency, ReportingCurrency.NATURAL);
            assertEquals(test.Parameters, CalculationParameters.of(PARAM));
        }
        public virtual void test_of_All()
        {
            CalculationRules test = CalculationRules.of(FUNCTIONS, ReportingCurrency.of(USD), CalculationParameters.of(PARAM));

            assertEquals(test.Functions, FUNCTIONS);
            assertEquals(test.ReportingCurrency, ReportingCurrency.of(USD));
            assertEquals(test.Parameters, CalculationParameters.of(PARAM));
        }
        //-------------------------------------------------------------------------
        public virtual void coverage()
        {
            CalculationRules test = CalculationRules.of(FUNCTIONS);

            coverImmutableBean(test);
            CalculationRules test2 = CalculationRules.of(FUNCTIONS, USD);

            coverBeanEquals(test, test2);
        }
        //-------------------------------------------------------------------------
        public virtual void calculate()
        {
            ImmutableList <CalculationTarget> targets = ImmutableList.of(TARGET);
            Column column1 = Column.of(TestingMeasures.PRESENT_VALUE);
            Column column2 = Column.of(TestingMeasures.BUCKETED_PV01);
            ImmutableList <Column> columns = ImmutableList.of(column1, column2);
            CalculationRules       rules   = CalculationRules.of(CalculationFunctions.empty());
            MarketData             md      = MarketData.empty(date(2016, 6, 30));
            ScenarioMarketData     smd     = ScenarioMarketData.empty();

            // use of try-with-resources checks class is AutoCloseable
            using (CalculationRunner test = CalculationRunner.of(MoreExecutors.newDirectExecutorService()))
            {
                assertThat(test.calculate(rules, targets, columns, md, REF_DATA).get(0, 0).Failure).True;
                assertThat(test.calculateMultiScenario(rules, targets, columns, smd, REF_DATA).get(0, 0).Failure).True;
            }
        }