public async Task HandleCombinedStreamData()
        {
            var message = $"{{\"stream\":\"{_streamName}\",\"data\":{_message}}}";

            var stream = new BinanceWebSocketStream(DefaultWebSocketClientTest.CreateMockWebSocketClient(message))
            {
                Uri = _uri // NOTE: Processing of combined stream data is not dependant upon URI.
            };

            var isMessageEventReceived = false;

            using (var cts = new CancellationTokenSource(TimeSpan.FromSeconds(3)))
            {
                stream.Message += (s, e) =>
                {
                    isMessageEventReceived = e.Subject == _streamName && e.Json == _message;
                };

                Assert.False(isMessageEventReceived);

                await stream.StreamAsync(cts.Token);

                Assert.True(isMessageEventReceived);
            }
        }
        public async Task IsStreaming()
        {
            _stream.Uri = _uri;

            using (var cts = new CancellationTokenSource(TimeSpan.FromSeconds(1)))
            {
                Assert.False(_stream.IsStreaming);

                var task = _stream.StreamAsync(cts.Token);

                Assert.True(_stream.IsStreaming);

                await task;

                Assert.False(_stream.IsStreaming);
            }
        }