public void Init() { _portfolio = Substitute.For <IPortfolio>(); _stock = Substitute.For <IStock>(); _uut = new PortfolioDisplay(); _portfolio.Name.Returns("Folder1"); _portfolio.Total.Returns(1); var tempDic = new Dictionary <IStock, int>(); tempDic.Add(_stock, 40); _portfolio.Stocks.Returns(tempDic); }
static void Main(string[] args) { IEnumerable <IStock> validStocks = Helpers.StockListGenerator.GetStockList(); IStockIndex stockIndex = new StockIndex(validStocks); IPortfolio portfolio = new Portfolio(stockIndex); IPortfolioDisplay portfolioDisplay = new PortfolioDisplay(portfolio); for (int i = 0; i < 10; i++) { portfolio.AddStock(validStocks.FirstOrDefault(s => s.Symbol == "TSLA")); } for (int i = 0; i < 15; i++) { portfolio.AddStock(validStocks.FirstOrDefault(s => s.Symbol == "AAL")); } for (int i = 0; i < 30; i++) { portfolio.AddStock(validStocks.FirstOrDefault(s => s.Symbol == "AMD")); } portfolio.AddStock(validStocks.First()); portfolio.AddStock(validStocks.First()); portfolio.AddStock(validStocks.First()); portfolio.AddStock(validStocks.First()); portfolioDisplay.DisplayPortfolio(); var rand = new Random(); while (true) { int randomStockIndex = rand.Next(validStocks.Count()); var randomStock = validStocks.ToList()[randomStockIndex]; double oldStockValue = stockIndex.GetStockPrice(randomStock); double newStockValue = Helpers.StockRandomValueGenerator.Next5PctDifference(oldStockValue); Console.WriteLine("Changing stock value of {0} from {1:N1} to {2:N1}", randomStock.Symbol, oldStockValue, newStockValue); stockIndex.ChangeStockPrice(randomStock, newStockValue); Thread.Sleep(1000); } }
/** * Et lille test program, hvor der bliver oprettet en lille liste af stocks, herefter to portfolier og et enkelt display. * Det skal være muligt at skifte mellem de to portfolier med tasterne '1' og '2'. Alt er live updated. **/ static void Main(string[] args) { Random seed = new Random(); List <Stock> stocks = new List <Stock>(); stocks.Add(new Stock("Google", 10.5f)); stocks.Add(new Stock("Sony", 50.2f)); stocks.Add(new Stock("IBM", 20.2f)); stocks.Add(new Stock("Facebook", 2320.2f)); stocks.Add(new Stock("Ebay", 420.2f)); stocks.Add(new Stock("Airconsole", 620.2f)); stocks.Add(new Stock("Fitness World", 210.2f)); stocks.Add(new Stock("Fronter", -202.2f)); stocks.Add(new Stock("Evil robots", 500.2f)); List <LifeOfStock> los = new List <LifeOfStock>(); List <Thread> threads = new List <Thread>(); foreach (Stock s in stocks) { los.Add(new LifeOfStock(s, seed.Next())); } foreach (LifeOfStock l in los) { threads.Add(new Thread(new ThreadStart(l.run))); } foreach (Thread t in threads) { t.Start(); } Portfolio big = new Portfolio("Big portfolio"); Portfolio small = new Portfolio("Small portfolio"); foreach (Stock s in stocks) { big.addStock(s); } small.addStock(stocks[0]); small.addStock(stocks[1]); PortfolioDisplay display = new PortfolioDisplay("press 1 to see big portfolio, press 2 to see small portfolio"); display.CurrentPortfolio = big; ConsoleKeyInfo consoleKeyInfo; while (true) { consoleKeyInfo = Console.ReadKey(true); if (consoleKeyInfo.Key == ConsoleKey.D2) { display.CurrentPortfolio = small; } if (consoleKeyInfo.Key == ConsoleKey.D1) { display.CurrentPortfolio = big; } } }