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);
            }
        }
Ejemplo n.º 4
0
        /**
         * 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);
        }
Ejemplo n.º 5
0
 public void StockExchangeProvidersDelete(StockExchangeProvider stockExchangeProvider)
 {
     _stockExchangeProviders.Remove(stockExchangeProvider);
 }