public void Test28032021() { Currency currency = new Currency { Id = 1, Name = "CAD" }; List <Currency> currencies = new List <Currency> { currency }; List <CurrencyRateHistory> entities = new List <CurrencyRateHistory>(); entities.Add(new CurrencyRateHistory { Date = new DateTime(2021, 03, 28), CurrencyId = 1, Id = 99, Rate = 88.00, Currency = currency }); var myDbMoq = new Mock <ApplicationDbContext>(); myDbMoq.Setup(p => p.CurrencyRateHistory).Returns( DbContextMock.GetQueryableMockDbSet(entities)); myDbMoq.Setup(p => p.Currencies).Returns( DbContextMock.GetQueryableMockDbSet(currencies)); myDbMoq.Setup(p => p.SaveChanges()).Returns(2); ExchangeRatesService ers = new ExchangeRatesService(myDbMoq.Object); var ret = ers.PrepareRates( new ExchangeRateRequest { Date = new DateTime(2021, 03, 28) }); Assert.True(ret.Exists(x => x.Rate == 88.00 & x.Name.Equals("CAD"))); }
public async Task WeightedExchangeRate_Returns_ExpectedResult() { var clientFactory = new HttpClientFactory(new NullLogger <HttpClientFactory>()); var repo = new ExchangeRateApi(this._configuration, clientFactory, this._policyFactory, this._logger); var repoDecorator = new ExchangeRateApiCachingDecorator(repo); var exchangeRates = new ExchangeRatesService(repoDecorator, this._loggerExchRate); var calculator = new TradePositionWeightedAverageExchangeRateService(exchangeRates, this._calculatorLogger); var tradeOne = new Order().Random(); var tradeTwo = new Order().Random(); var tradeThree = new Order().Random(); tradeOne.FilledDate = new DateTime(2017, 01, 01); tradeTwo.FilledDate = new DateTime(2017, 10, 25); tradeThree.FilledDate = new DateTime(2017, 10, 25); var position = new TradePosition(new List <Order> { tradeOne, tradeTwo, tradeThree }); var usd = new Currency("usd"); var wer = await calculator.WeightedExchangeRate(position, usd, this._ruleCtx); }
public ExchangeRatesController() { _exchangeRatesService = new ExchangeRatesService(); }
public ExchangeRatesController(ILogger <ExchangeRatesController> logger, ExchangeRatesService exchangeRates, IMapper mapper) { _logger = logger; _exchangeRates = exchangeRates; _mapper = mapper; }