public void GetMarketLastTrade_Should_RespondWithLastTrade() { // arrange var expected = new HuobiMarketTrade() { Id = 123, Timestamp = new DateTime(2018, 1, 1), Details = new List <HuobiMarketTradeDetails>() { new HuobiMarketTradeDetails() { Amount = 0.1m, Id = "12334232", Price = 0.2m, Timestamp = new DateTime(2018, 1, 1), Side = HuobiOrderSide.Buy } } }; var client = TestHelpers.CreateResponseClient(SerializeExpected(expected, true)); // act var result = client.GetMarketLastTrade("BTCETH"); // assert Assert.AreEqual(true, result.Success); Assert.IsTrue(TestHelpers.AreEqual(expected, result.Data, "Details")); Assert.IsTrue(TestHelpers.AreEqual(expected.Details[0], result.Data.Details[0])); }
public void SubscribeToTradeUpdates_Should_TriggerWithTradeUpdate() { // arrange var socket = new TestSocket(); socket.CanConnect = true; var client = TestHelpers.CreateSocketClient(socket); HuobiMarketTrade result = null; var subTask = client.SubscribeToMarketTradeUpdatesAsync("ethusdt", test => result = test); socket.InvokeMessage($"{{\"subbed\": \"test\", \"id\": \"{BaseClient.LastId}\", \"status\": \"ok\"}}"); var subResult = subTask.Result; var expected = new HuobiMarketTrade() { Id = 123, Timestamp = new DateTime(2018, 1, 1), Details = new List <HuobiMarketTradeDetails>() { new HuobiMarketTradeDetails() { Id = "123", Amount = 0.1m, Price = 0.2m, Timestamp = new DateTime(2018, 2, 1), Side = HuobiOrderSide.Buy } } }; // act socket.InvokeMessage(SerializeExpected("market.ethusdt.trade.detail", expected)); // assert Assert.IsTrue(subResult.Success); Assert.IsTrue(TestHelpers.AreEqual(expected, result, "Details")); Assert.IsTrue(TestHelpers.AreEqual(expected.Details[0], result.Details[0])); }