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);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        /**
         * 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;
                }
            }
        }