Beispiel #1
0
        public virtual void requirementsNoConfigForPair()
        {
            FxRateMarketDataFunction function = new FxRateMarketDataFunction();
            CurrencyPair             gbpUsd   = CurrencyPair.of(Currency.GBP, Currency.USD);

            assertThat(function.requirements(FxRateId.of(gbpUsd), config())).isEqualTo(MarketDataRequirements.empty());
        }
Beispiel #2
0
        public virtual void requirementsMissingConfig()
        {
            FxRateMarketDataFunction function = new FxRateMarketDataFunction();
            string regex = "No configuration found .*FxRateConfig";

            assertThrowsIllegalArg(() => function.requirements(RATE_ID, MarketDataConfig.empty()), regex);
        }
Beispiel #3
0
        public virtual void requirementsInverse()
        {
            FxRateMarketDataFunction function     = new FxRateMarketDataFunction();
            MarketDataRequirements   requirements = function.requirements(FxRateId.of(CURRENCY_PAIR.inverse()), config());

            assertThat(requirements).isEqualTo(MarketDataRequirements.of(QUOTE_ID));
        }
Beispiel #4
0
        public virtual void requirements()
        {
            FxRateMarketDataFunction function     = new FxRateMarketDataFunction();
            MarketDataRequirements   requirements = function.requirements(RATE_ID, config());

            assertThat(requirements).isEqualTo(MarketDataRequirements.of(QUOTE_ID));
        }
Beispiel #5
0
        public virtual void buildMissingConfig()
        {
            FxRateMarketDataFunction function = new FxRateMarketDataFunction();
            string regex = "No configuration found .*FxRateConfig";

            assertThrowsIllegalArg(() => function.build(RATE_ID, MarketDataConfig.empty(), ScenarioMarketData.empty(), REF_DATA), regex);
        }
Beispiel #6
0
        public virtual void buildNoConfigForPair()
        {
            FxRateMarketDataFunction function = new FxRateMarketDataFunction();
            string       regex  = "No FX rate configuration available for GBP/USD";
            CurrencyPair gbpUsd = CurrencyPair.of(Currency.GBP, Currency.USD);

            assertThrowsIllegalArg(() => function.build(FxRateId.of(gbpUsd), config(), ScenarioMarketData.empty(), REF_DATA), regex);
        }
Beispiel #7
0
        public virtual void buildInverse()
        {
            FxRateMarketDataFunction function   = new FxRateMarketDataFunction();
            MarketDataBox <double>   quoteBox   = MarketDataBox.ofSingleValue(1.1d);
            ScenarioMarketData       marketData = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)).addBox(QUOTE_ID, quoteBox).build();
            MarketDataBox <FxRate>   rateBox    = function.build(FxRateId.of(CURRENCY_PAIR.inverse()), config(), marketData, REF_DATA);

            assertThat(rateBox.SingleValue).True;
            assertThat(rateBox.SingleValue).isEqualTo(FxRate.of(CURRENCY_PAIR, 1.1d));
        }
Beispiel #8
0
        public virtual void buildScenario()
        {
            FxRateMarketDataFunction function   = new FxRateMarketDataFunction();
            MarketDataBox <double>   quoteBox   = MarketDataBox.ofScenarioValues(1.1d, 1.2d, 1.3d);
            ScenarioMarketData       marketData = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)).addBox(QUOTE_ID, quoteBox).build();
            MarketDataBox <FxRate>   rateBox    = function.build(RATE_ID, config(), marketData, REF_DATA);

            assertThat(rateBox.SingleValue).False;
            assertThat(rateBox.ScenarioCount).isEqualTo(3);
            assertThat(rateBox.getValue(0)).isEqualTo(FxRate.of(CURRENCY_PAIR, 1.1d));
            assertThat(rateBox.getValue(1)).isEqualTo(FxRate.of(CURRENCY_PAIR, 1.2d));
            assertThat(rateBox.getValue(2)).isEqualTo(FxRate.of(CURRENCY_PAIR, 1.3d));
        }