public void request_disconnect_if_stream_causes_IOException()
        {
            var readLineAsyncSource = new ReadLineAsyncThrowIOException();
            var rawLineDecoder = new RawLineDecoder(readLineAsyncSource);

            var disconnectRequested = false;
            rawLineDecoder.RequestDisconnection += (s, e) => { disconnectRequested = true; rawLineDecoder.Cancel(); };

            rawLineDecoder.ProcessCommandsAsync().Wait(100);
            rawLineDecoder.Cancel();

            Assert.True(disconnectRequested);
        }
        public void request_disconnect_if_stream_causes_IOException()
        {
            var readLineAsyncSource = new ReadLineAsyncThrowIOException();
            var rawLineDecoder      = new RawLineDecoder(readLineAsyncSource);

            var disconnectRequested = false;

            rawLineDecoder.RequestDisconnection += (s, e) => { disconnectRequested = true; rawLineDecoder.Cancel(); };

            rawLineDecoder.ProcessCommandsAsync().Wait(100);
            rawLineDecoder.Cancel();

            Assert.True(disconnectRequested);
        }