//-------------------------------------------------------------------------
        public virtual void convertedTo()
        {
            SwapLegAmount legAmount       = SwapLegAmount.builder().amount(CurrencyAmount.of(Currency.GBP, 10)).payReceive(PayReceive.PAY).type(SwapLegType.FIXED).currency(Currency.GBP).build();
            SwapLegAmount convertedAmount = legAmount.convertedTo(Currency.USD, FxRate.of(Currency.GBP, Currency.USD, 1.6));

            assertThat(convertedAmount.Amount.Currency).isEqualTo(Currency.USD);
            assertThat(convertedAmount.Amount.Amount).isEqualTo(16.0);
            assertThat(convertedAmount.PayReceive).isEqualTo(legAmount.PayReceive);
            assertThat(convertedAmount.Type).isEqualTo(legAmount.Type);
            assertThat(convertedAmount.Currency).isEqualTo(legAmount.Currency);
        }
        public virtual void test_of()
        {
            SwapPaymentPeriod pp = mock(typeof(SwapPaymentPeriod));

            when(pp.Currency).thenReturn(Currency.GBP);
            ResolvedSwapLeg leg       = ResolvedSwapLeg.builder().type(SwapLegType.FIXED).payReceive(PayReceive.PAY).paymentPeriods(pp).build();
            SwapLegAmount   legAmount = SwapLegAmount.of(leg, CurrencyAmount.of(Currency.GBP, 10));
            SwapLegAmount   test      = legAmount.convertedTo(Currency.USD, FxRate.of(Currency.GBP, Currency.USD, 1.6));

            assertThat(test.Amount.Currency).isEqualTo(Currency.USD);
            assertThat(test.Amount.Amount).isEqualTo(16.0);
            assertThat(test.PayReceive).isEqualTo(legAmount.PayReceive);
            assertThat(test.Type).isEqualTo(legAmount.Type);
            assertThat(test.Currency).isEqualTo(legAmount.Currency);
        }