public void test_of() { SwapPaymentPeriod pp = mock(SwapPaymentPeriod.class); when(pp.getCurrency()).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.getAmount().getCurrency()).isEqualTo(Currency.USD); assertThat(test.getAmount().getAmount()).isEqualTo(16.0); assertThat(test.getPayReceive()).isEqualTo(legAmount.getPayReceive()); assertThat(test.getType()).isEqualTo(legAmount.getType()); assertThat(test.getCurrency()).isEqualTo(legAmount.getCurrency()); }