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);
        }