public void IncreaseTheQuantity_IfIncreased_AggregatedVolumeIsAsExpected() { DepthLevel depthLevel = new DepthLevel(new Price(491.32M)); bool addOrder1 = depthLevel.AddOrder(new Volume(2000)); bool addOrder2 = depthLevel.AddOrder(new Volume(1000)); Assert.IsTrue(addOrder1); Assert.IsTrue(addOrder2); Assert.AreEqual(3000, depthLevel.AggregatedVolume.Value, "Aggregated Volume after addition"); Assert.AreEqual(2, depthLevel.OrderCount, "Order Count after addition"); bool removeOrder1 = depthLevel.IncreaseVolume(new Volume(500)); Assert.IsTrue(removeOrder1); Assert.AreEqual(3500, depthLevel.AggregatedVolume.Value, "Aggregated Volume after decrease"); Assert.AreEqual(2, depthLevel.OrderCount, "Order Count after decrease"); }
public void GetBboTest_ChecksIfTheBboIsRetreivedSuccessfully_ReturnsBboForCurrencypairIfPresent() { BBOMemoryImage bboMemoryImage = new BBOMemoryImage(); MarketDataQueryService queryService = new MarketDataQueryService(null, null, bboMemoryImage, null, null); DepthLevel bestBid = new DepthLevel(new Price(491)); bestBid.IncreaseVolume(new Volume(100)); DepthLevel bestAsk = new DepthLevel(new Price(492)); bestAsk.IncreaseVolume(new Volume(200)); bboMemoryImage.OnBBOArrived("BTCUSD", bestBid, bestAsk); BBORepresentation bboRepresentation = queryService.GetBBO("BTCUSD"); Assert.IsNotNull(bboRepresentation); Assert.AreEqual(bestBid.Price.Value, bboRepresentation.BestBidPrice); Assert.AreEqual(bestBid.AggregatedVolume.Value, bboRepresentation.BestBidVolume); Assert.AreEqual(bestBid.OrderCount, bboRepresentation.BestBidOrderCount); Assert.AreEqual(bestAsk.Price.Value, bboRepresentation.BestAskPrice); Assert.AreEqual(bestAsk.AggregatedVolume.Value, bboRepresentation.BestAskVolume); Assert.AreEqual(bestAsk.OrderCount, bboRepresentation.BestAskOrderCount); }
public void BboAddTest_ChecksWhetherTheBestBidAndOfferAreAddedSuccessfully_VerifiesBBoListFromMEmoryImage() { BBOMemoryImage bboMemoryImage = new BBOMemoryImage(); DepthLevel bestBid = new DepthLevel(new Price(491)); bestBid.IncreaseVolume(new Volume(600)); bestBid.UpdateOrderCount(1); DepthLevel bestAsk = new DepthLevel(new Price(496)); bestAsk.IncreaseVolume(new Volume(500)); bestAsk.UpdateOrderCount(1); bboMemoryImage.OnBBOArrived("XTCUSD", bestBid, bestAsk); Assert.AreEqual(1, bboMemoryImage.BBORepresentationList.Count()); Assert.AreEqual(491, bboMemoryImage.BBORepresentationList.First().BestBidPrice); Assert.AreEqual(496, bboMemoryImage.BBORepresentationList.First().BestAskPrice); Assert.AreEqual(600, bboMemoryImage.BBORepresentationList.First().BestBidVolume); Assert.AreEqual(500, bboMemoryImage.BBORepresentationList.First().BestAskVolume); Assert.AreEqual(1, bboMemoryImage.BBORepresentationList.First().BestBidOrderCount); Assert.AreEqual(1, bboMemoryImage.BBORepresentationList.First().BestAskOrderCount); }