public void TestStream() { var input = new StringReader("abc\n def "); var output = new StringWriter(); var inputStream = input.AsPipedStream(); var outputStream = output.AsPipedStream(); outputStream |= inputStream; Assert.AreEqual("abc\r\n", output.GetStringBuilder().ToString()); outputStream |= "ho ho ho"; Assert.AreEqual("abc\r\nho ho ho\r\n", output.GetStringBuilder().ToString()); outputStream |= ((s) => s.Trim()) | inputStream; Assert.AreEqual("abc\r\nho ho ho\r\ndef\r\n", output.GetStringBuilder().ToString()); }