public void Exchange_ShouldThrow_WhenCurrencyIsNotFound(FxExchange exchange, IExchangeRateHolder rateHolder) { // arrange var sut = new CurrencyExchanger(rateHolder); // act // assert Should.Throw <InvalidCurrencyException>(() => sut.Exchange(exchange)); }
public CurrencyExchanger(IExchangeRateHolder exchangeRateHolder) { _exchangeRateHolder = exchangeRateHolder ?? throw new ArgumentNullException(nameof(exchangeRateHolder)); }
public void Exchange_ShouldReturnTheSameAmount_AsRequested(FxExchange exchange, IExchangeRateHolder rateHolder) { // arrange var sut = new CurrencyExchanger(rateHolder); exchange.CurrencyPair.From = exchange.CurrencyPair.To; // act var result = sut.Exchange(exchange); // assert result.ShouldBe(exchange.Amount); }