public void ExecuteTrade_NoAvailableQuotes() { var repository = new Mock <IRepository>(); repository.Setup(x => x.GetAllAvailableBySymbol(It.IsAny <string>())).Returns(new List <IQuote>()); var sut = new QuoteManagerClass(repository.Object); var res = sut.ExecuteTrade("DEF", 1000); Assert.AreEqual(null, res); }
public void ExecuteTrade_DidNotReachRequestedVolume() { var repository = new Mock <IRepository>(); repository.Setup(x => x.GetAllAvailableBySymbol(It.IsAny <string>())).Returns(quotes); var sut = new QuoteManagerClass(repository.Object); var res = sut.ExecuteTrade("DEF", 5000); Assert.AreEqual(res.VolumeExecuted, (uint)4200); Assert.AreEqual(res.VolumeRequested, (uint)5000); Assert.AreEqual(res.Symbol, "DEF"); Assert.AreEqual(res.VolumeWeightedAveragePrice, 9.583333333333334); }