Ejemplo n.º 1
0
        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]));
        }
Ejemplo n.º 2
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]));
        }
Ejemplo n.º 3
0
 private void HandleUpdate(HuobiOrderBook data)
 {
     SetInitialOrderBook(data.Timestamp.Ticks, data.Bids, data.Asks);
 }