コード例 #1
0
        public void GetMarketDepth_Should_RespondWithDepth()
        {
            // arrange
            var expected = new HuobiMarketDepth()
            {
                Asks = new List <HuobiOrderBookEntry>()
                {
                    new HuobiOrderBookEntry()
                    {
                        Amount = 0.1m, Price = 0.2m
                    }
                },
                Bids = new List <HuobiOrderBookEntry>()
                {
                    new HuobiOrderBookEntry()
                    {
                        Amount = 0.3m, Price = 0.4m
                    }
                }
            };

            var client = TestHelpers.CreateResponseClient(SerializeExpected(expected, true));

            // act
            var result = client.GetMarketDepth("BTCETH", 1);

            // assert
            Assert.AreEqual(true, result.Success);
            Assert.IsTrue(TestHelpers.AreEqual(expected.Asks[0], result.Data.Asks[0]));
            Assert.IsTrue(TestHelpers.AreEqual(expected.Bids[0], result.Data.Bids[0]));
        }
コード例 #2
0
        public void SubscribeToDepthUpdates_Should_TriggerWithDepthUpdate()
        {
            // arrange
            var socket = new TestSocket();

            socket.CanConnect = true;
            var client = TestHelpers.CreateSocketClient(socket);

            HuobiMarketDepth result = null;
            var subTask             = client.SubscribeToMarketDepthUpdatesAsync("test", 1, test => result = test);

            socket.InvokeMessage($"{{\"subbed\": \"test\", \"status\": \"ok\", \"id\": \"{BaseClient.LastId}\"}}");
            var subResult = subTask.Result;

            var expected = new HuobiMarketDepth()
            {
                Asks = new List <HuobiOrderBookEntry>()
                {
                    new HuobiOrderBookEntry()
                    {
                        Amount = 0.1m, Price = 0.2m
                    }
                },
                Bids = new List <HuobiOrderBookEntry>()
                {
                    new HuobiOrderBookEntry()
                    {
                        Amount = 0.3m, Price = 0.4m
                    }
                }
            };

            // act
            socket.InvokeMessage(SerializeExpected("market.test.depth.step1", expected));

            // assert
            Assert.IsTrue(subResult.Success);
            Assert.IsTrue(TestHelpers.AreEqual(expected.Asks[0], result.Asks[0]));
            Assert.IsTrue(TestHelpers.AreEqual(expected.Bids[0], result.Bids[0]));
        }
コード例 #3
0
 private void HandleUpdate(HuobiMarketDepth data)
 {
     SetInitialOrderBook(data.Timestamp.Ticks, data.Asks, data.Bids);
 }