public static void TestEncodeStream(string input, string expectedOutput, string encodingName, bool encodeCRLF)
{
Encoding encoding =
encodingName == "ASCII" ? Encoding.ASCII :
encodingName == "UTF8" ? Encoding.UTF8 :
Encoding.Default;
var outputStream = new MemoryStream();
var testStream = new QuotedPrintableStream(outputStream, encodeCRLF);
byte[] bytesToWrite = encoding.GetBytes(input);
testStream.Write(bytesToWrite, 0, bytesToWrite.Length);
testStream.Flush();
outputStream.Seek(0, SeekOrigin.Begin);
byte[] bytesRead = new byte[encoding.GetByteCount(expectedOutput) * 2];
int bytesReadCount = outputStream.Read(bytesRead, 0, bytesRead.Length);
string results = encoding.GetString(bytesRead, 0, bytesReadCount);
Assert.Equal(expectedOutput, results);
}