Example #1
0
        //-------------------------------------------------------------------------
        public virtual void test_requirementsAndCurrency()
        {
            SecurityPositionCalculationFunction function = new SecurityPositionCalculationFunction();
            ISet <Measure>       measures = function.supportedMeasures();
            FunctionRequirements reqs     = function.requirements(POSITION, measures, PARAMS, REF_DATA);

            assertThat(reqs.OutputCurrencies).containsOnly(CURRENCY);
            assertThat(reqs.ValueRequirements).isEqualTo(ImmutableSet.of(QuoteId.of(SEC_ID.StandardId)));
            assertThat(reqs.TimeSeriesRequirements).Empty;
            assertThat(function.naturalCurrency(POSITION, REF_DATA)).isEqualTo(CURRENCY);
        }
Example #2
0
        public virtual void test_presentValue()
        {
            SecurityPositionCalculationFunction function = new SecurityPositionCalculationFunction();
            ScenarioMarketData md = marketData();

            double         unitPv     = (MARKET_PRICE / TICK_SIZE) * TICK_VALUE;
            CurrencyAmount expectedPv = CurrencyAmount.of(CURRENCY, unitPv * QUANTITY);

            ISet <Measure> measures = ImmutableSet.of(Measures.PRESENT_VALUE);

            assertThat(function.calculate(POSITION, measures, PARAMS, md, REF_DATA)).containsEntry(Measures.PRESENT_VALUE, Result.success(CurrencyScenarioArray.of(ImmutableList.of(expectedPv))));
        }