public void ProcessOnlySell()
        {
            Stock sObj1 = new Stock("1", "ABC", StockSide.Sell, 10);
            Stock sObj2 = new Stock("2", "ABC", StockSide.Sell, 10);
            Stock sObj3 = new Stock("3", "XYZ", StockSide.Sell, 10);

            sObj1.RemQuantity = 10;
            sObj1.Status      = StockState.Open;
            sObj2.RemQuantity = 10;
            sObj2.Status      = StockState.Open;
            sObj3.RemQuantity = 10;
            sObj3.Status      = StockState.Open;
            StockProcessor stockProcessor = new StockProcessor();
            List <Stock>   processimp     = new List <Stock>();

            processimp.Add(sObj1);
            processimp.Add(sObj2);
            processimp.Add(sObj3);
            List <Stock> processOut = new List <Stock>();

            processOut.Add(sObj1);
            processOut.Add(sObj2);
            processOut.Add(sObj3);
            List <Stock> assertOutput = new List <Stock>();

            assertOutput = stockProcessor.ProcessstockOrderList(processimp);
            CollectionAssert.AreEqual(processOut, assertOutput);
        }
Ejemplo n.º 2
0
        public void GetStockInfo_WhenArgumentIsInvalid_ThrowsInvalidStockArgumentException(string command)
        {
            const string stockCsv = "Symbol,Date,Time,Open,High,Low,Close,Volume\nAAPL.FR,N/D,N/D,N/D,N/D,N/D,N/D,N/D";

            var webClientMock = new Mock <IWebClient>();

            webClientMock.Setup(x => x.DownloadString(It.IsAny <string>())).Returns(stockCsv);

            var sp = new StockProcessor(webClientMock.Object);

            Assert.Throws <Exceptions.InvalidStockArgumentException>(() => sp.GetStockInfo(command));
        }
Ejemplo n.º 3
0
        public void GetStockInfo_When_ThrowsInvalidCommandException(string command)
        {
            const string stockCsv = "Symbol,Date,Time,Open,High,Low,Close,Volume\nAAPL.US,2020-10-09,22:00:01,115.28,117,114.92,116.97,100506865";

            var webClientMock = new Mock <IWebClient>();

            webClientMock.Setup(x => x.DownloadString(It.IsAny <string>())).Returns(stockCsv);

            var sp = new StockProcessor(webClientMock.Object);

            var stockInfo = sp.GetStockInfo(command);

            Assert.AreEqual("AAPL.US", stockInfo.Symbol);
            Assert.AreEqual(116.97D, stockInfo.Close);
            Assert.AreEqual(new DateTime(2020, 10, 9), stockInfo.Date);
        }
Ejemplo n.º 4
0
        public void GetStockInfo_WhenCommandIsNotAvailable_ThrowsInvalidCommandException(string command)
        {
            var sp = new StockProcessor(new AppWebClient());

            Assert.Throws <Exceptions.InvalidCommandException>(() => sp.GetStockInfo(command));
        }