예제 #1
0
        public void ConditionalOrderCanceledMessage_StreamUpdated(string orderSide)
        {
            // Arrange
            var lastActTime = DateTimeOffset.UtcNow;
            var triggered   = false;
            var client      = InitializeAccountClient();

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

                // Assert
                Assert.NotNull(msg);
                Assert.NotNull(msg.Data);
                Assert.Equal(OrderEventType.Deletion, msg.Data !.EventType);
                Assert.True(EnumTestDataBase.EqualsWithString(orderSide, msg.Data !.OrderSide));
                Assert.Equal(OrderStatus.Canceled, msg.Data !.OrderStatus);
                Assert.True(TestUtils.UnixTimesEqual(lastActTime, msg.Data !.OrderTriggerTime));
            });

            var message = HuobiAccountMessagesFactory.CreateConditionalOrderCanceledMessage(orderSide, lastActTime);

            // Act
            TriggerMessageReceive(message);

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