public void GetPrices() { var sut = new StockExchangeProvider(); var prices = sut.GetPrice("MSFT", "AAPL"); Assert.Equal(2, prices.Length); Assert.Equal("MSFT", prices[0].Symbol); Assert.Equal("AAPL", prices[1].Symbol); Assert.True(prices[0].Price > 0.0m); Assert.True(prices[1].Price > 0.0m); }
public void FindCandidates() { var ex = new StockExchangeProvider(); var sut = new MessageHandling(null, ex); var result = sut.Handle(new CandidateStocksQuery { Pattern = "Apple" }); Assert.True(result.Candidates.Length > 0); _output.WriteLine($"Candidates found: {result.Candidates.Length}"); foreach (var r in result.Candidates) { _output.WriteLine($"{r.Name} ({r.Symbol}): {r.Price} {r.Currency}"); } }
public void UpdatePortfolio() { File.Copy("portfoliotoupdate.csv", "updateportfolio.csv", true); var repo = new PortfolioRepository("updateportfolio.csv"); var before = repo.Load(); var ex = new StockExchangeProvider(); var sut = new MessageHandling(repo, ex); sut.Handle(new UpdatePortfolioCommand()); var after = repo.Load(); for (var i = 0; i < before.Entries.Count; i++) { Assert.True(after.Entries[i].CurrentPrice > 0.0m); Assert.True(before.Entries[i].CurrentPrice != after.Entries[i].CurrentPrice); Assert.True(before.Entries[i].LastUpdated < after.Entries[i].LastUpdated); } }
/** * returns a provider, which can be a stockExchangeProvider, if article can be fulfilled by stock, else * a productionOrder/purchaseOrderPart */ private Provider CreateStockExchangeProvider(M_Article article, DueTime dueTime, Quantity demandedQuantity) { if (demandedQuantity == null || demandedQuantity.GetValue() == 0) { throw new MrpRunException("Quantity is not set."); } M_Stock stock = _dbMasterDataCache.M_StockGetByArticleId(article.GetId()); T_StockExchange stockExchange = new T_StockExchange(); stockExchange.StockExchangeType = StockExchangeType.Provider; stockExchange.Quantity = demandedQuantity.GetValue(); // TODO: PASCAL .GetValueOrDefault(); stockExchange.State = State.Created; stockExchange.Stock = stock; stockExchange.StockId = stock.Id; stockExchange.RequiredOnTime = dueTime.GetValue(); stockExchange.ExchangeType = ExchangeType.Withdrawal; StockExchangeProvider stockExchangeProvider = new StockExchangeProvider(stockExchange); return(stockExchangeProvider); }
public void StockExchangeProvidersDelete(StockExchangeProvider stockExchangeProvider) { _stockExchangeProviders.Remove(stockExchangeProvider); }