Esempio n. 1
0
        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]));
        }
Esempio n. 2
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]));
        }