public virtual void test_trade_noMarketData()
        {
            ThreeLegBasisSwapCurveNode node = ThreeLegBasisSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD);
            MarketData marketData           = MarketData.empty(VAL_DATE);

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

            assertEquals(trade, expected);
        }