public async Task GetMarketDepth_Should_RespondWithDepth() { // arrange var expected = new HuobiOrderBook() { Asks = new List <HuobiOrderBookEntry>() { new HuobiOrderBookEntry() { Quantity = 0.1m, Price = 0.2m } }, Bids = new List <HuobiOrderBookEntry>() { new HuobiOrderBookEntry() { Quantity = 0.3m, Price = 0.4m } } }; var client = TestHelpers.CreateResponseClient(SerializeExpected(expected, true)); // act var result = await client.GetOrderBookAsync("BTCETH", 1); // assert Assert.AreEqual(true, result.Success); Assert.IsTrue(TestHelpers.AreEqual(expected.Asks.ToList()[0], result.Data.Asks.ToList()[0])); Assert.IsTrue(TestHelpers.AreEqual(expected.Bids.ToList()[0], result.Data.Bids.ToList()[0])); }
public void SubscribeToDepthUpdates_Should_TriggerWithDepthUpdate() { // arrange var socket = new TestSocket(); socket.CanConnect = true; var client = TestHelpers.CreateSocketClient(socket); HuobiOrderBook result = null; var subTask = client.SubscribeToPartialOrderBookUpdates1SecondAsync("ETHBTC", 1, test => result = test.Data); var id = JToken.Parse(socket.LastSendMessage)["id"]; socket.InvokeMessage($"{{\"subbed\": \"ethbtc\", \"status\": \"ok\", \"id\": \"{id}\"}}"); var subResult = subTask.Result; var expected = new HuobiOrderBook() { Asks = new List <HuobiOrderBookEntry>() { new HuobiOrderBookEntry() { Quantity = 0.1m, Price = 0.2m } }, Bids = new List <HuobiOrderBookEntry>() { new HuobiOrderBookEntry() { Quantity = 0.3m, Price = 0.4m } } }; // act socket.InvokeMessage(SerializeExpected("market.ethbtc.depth.step1", expected)); // assert Assert.IsTrue(subResult.Success); Assert.IsTrue(TestHelpers.AreEqual(expected.Asks.ToList()[0], result.Asks.ToList()[0])); Assert.IsTrue(TestHelpers.AreEqual(expected.Bids.ToList()[0], result.Bids.ToList()[0])); }
private void HandleUpdate(HuobiOrderBook data) { SetInitialOrderBook(data.Timestamp.Ticks, data.Bids, data.Asks); }