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); }
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)); }
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); }
public void GetStockInfo_WhenCommandIsNotAvailable_ThrowsInvalidCommandException(string command) { var sp = new StockProcessor(new AppWebClient()); Assert.Throws <Exceptions.InvalidCommandException>(() => sp.GetStockInfo(command)); }