예제 #1
0
        public void TradeDetailsMessage_StreamUpdated(
            string eventType,
            string orderSide,
            string orderType,
            string orderStatus)
        {
            // Arrange
            var tradeAndCreateTime = DateTimeOffset.UtcNow;
            var triggered          = false;
            var client             = InitializeAccountClient();

            client.Streams.TradeDetailsMessageStream.Subscribe(
                msg =>
            {
                triggered = true;

                // Assert
                Assert.NotNull(msg);
                Assert.NotNull(msg.Data);
                Assert.True(EnumTestDataBase.EqualsWithString(eventType, msg.Data !.EventType));
                Assert.True(EnumTestDataBase.EqualsWithString(orderSide, msg.Data !.OrderSide));
                Assert.True(EnumTestDataBase.EqualsWithString(orderType, msg.Data !.OrderType));
                Assert.True(EnumTestDataBase.EqualsWithString(orderStatus, msg.Data !.OrderStatus));
                Assert.True(TestUtils.UnixTimesEqual(tradeAndCreateTime, msg.Data !.TradeTime));
                Assert.True(TestUtils.UnixTimesEqual(tradeAndCreateTime, msg.Data !.OrderCreateTime));
            });

            var message = HuobiAccountMessagesFactory.CreateTradeDetailsMessage(
                eventType,
                orderSide,
                orderType,
                orderStatus,
                tradeAndCreateTime);

            // Act
            TriggerMessageReceive(message);

            // Assert
            VerifyMessageNotUnhandled();
            Assert.True(triggered);
        }