public void AccountUpdateMessage_AvailableBalanceChanged_StreamUpdated(
            string changeType,
            string accountType)
        {
            // Arrange
            var changeTime = DateTimeOffset.UtcNow;
            var triggered  = false;
            var client     = InitializeAccountClient();

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

                // Assert
                Assert.NotNull(msg);
                Assert.NotNull(msg.Data);
                Assert.True(EnumTestDataBase.EqualsWithString(changeType, msg.Data !.ChangeType));
                Assert.True(EnumTestDataBase.EqualsWithString(accountType, msg.Data !.AccountType));
                Assert.True(TestUtils.UnixTimesEqual(changeTime, msg.Data !.ChangeTime));
            });

            var message = HuobiAccountMessagesFactory.CreateAccountUpdateAvailableBalanceChangedMessage(
                changeType,
                accountType,
                changeTime);

            // Act
            TriggerMessageReceive(message);

            // Assert
            VerifyMessageNotUnhandled();
            Assert.True(triggered);
        }
示例#2
0
        public void OrderSubmittedMessage_StreamUpdated(string orderType)
        {
            // Arrange
            var lastActTime = DateTimeOffset.UtcNow;
            var triggered   = false;
            var client      = InitializeAccountClient();

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

                // Assert
                Assert.NotNull(msg);
                Assert.NotNull(msg.Data);
                Assert.Equal(OrderEventType.Creation, msg.Data !.EventType);
                Assert.Equal(OrderStatus.Submitted, msg.Data !.OrderStatus);
                Assert.True(EnumTestDataBase.EqualsWithString(orderType, msg.Data !.Type));
                Assert.True(TestUtils.UnixTimesEqual(lastActTime, msg.Data !.OrderCreateTime));
            });

            var message = HuobiAccountMessagesFactory.CreateOrderSubmittedMessage(orderType, lastActTime);

            // Act
            TriggerMessageReceive(message);

            // Assert
            VerifyMessageNotUnhandled();
            Assert.True(triggered);
        }
示例#3
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);
        }