public virtual void test_trade_noMarketData()
        {
            IborIborSwapCurveNode node          = IborIborSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD);
            LocalDate             valuationDate = LocalDate.of(2015, 1, 22);
            MarketData            marketData    = MarketData.empty(valuationDate);

            assertThrows(() => node.trade(1d, marketData, REF_DATA), typeof(MarketDataNotFoundException));
        }
        public virtual void test_trade()
        {
            IborIborSwapCurveNode node      = IborIborSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD);
            LocalDate             tradeDate = LocalDate.of(2015, 1, 22);
            double     rate       = 0.125;
            double     quantity   = -1234.56;
            MarketData marketData = ImmutableMarketData.builder(tradeDate).addValue(QUOTE_ID, rate).build();
            SwapTrade  trade      = node.trade(quantity, marketData, REF_DATA);
            SwapTrade  expected   = TEMPLATE.createTrade(tradeDate, BUY, -quantity, rate + SPREAD, REF_DATA);

            assertEquals(trade, expected);
        }