private static void TestConsoleOut() { var mov = new MovingMemoryStream(400); var writer = new StreamWriter(mov) { AutoFlush = true }; var reader = new StreamReader(mov); var longstring = new string('a', 1500); writer.Write("B"); writer.WriteLine("L"); writer.WriteLine(longstring); writer.WriteLine("Hello"); writer.WriteLine("Devedse"); writer.WriteLine("Test"); int i = 0; string line; while ((line = reader.ReadLine()) != null) { Console.WriteLine($"{i}: {line}"); i++; } Console.WriteLine(); }
private void MovingMemoryHelper(int streamWriterBufferSize, int streamReaderBufferSize, int movingMemoryStreamBufferSize, params string[] stringsToTest) { //Arrange var mov = new MovingMemoryStream(movingMemoryStreamBufferSize); var writer = new StreamWriter(mov, bufferSize: streamWriterBufferSize) { AutoFlush = true }; var reader = new StreamReader(mov, bufferSize: streamReaderBufferSize); //Act foreach (var s in stringsToTest) { writer.WriteLine(s); } //Assert foreach (var s in stringsToTest) { var line = reader.ReadLine(); Assert.Equal(s, line); } Assert.Null(reader.ReadLine()); }
private void CustomTestSet(int streamWriterBufferSize, int streamReaderBufferSize, int movingMemoryStreamBufferSize) { //Arrange var mov = new MovingMemoryStream(movingMemoryStreamBufferSize); var writer = new StreamWriter(mov, bufferSize: streamWriterBufferSize) { AutoFlush = true }; var reader = new StreamReader(mov, bufferSize: streamReaderBufferSize); //Act and Assert writer.Write("H"); writer.WriteLine("ello"); writer.WriteLine("Bye"); Assert.Equal("Hello", reader.ReadLine()); Assert.Equal("Bye", reader.ReadLine()); Assert.Null(reader.ReadLine()); writer.Write("Mic"); writer.Write("roso"); writer.Write("ft"); writer.WriteLine(" Windows"); Assert.Equal("Microsoft Windows", reader.ReadLine()); }
public void RedirectsConsoleOutput() { var originalOutWriter = Console.Out; try { var originalOut = Console.OpenStandardOutput(); var movingMemoryStream = new MovingMemoryStream(); var multiOut = new MultiStream(originalOut, movingMemoryStream); var writer = new StreamWriter(multiOut) { AutoFlush = true }; Console.SetOut(writer); Console.WriteLine("Test"); var reader = new StreamReader(movingMemoryStream); var line1 = reader.ReadLine(); Assert.Equal("Test", line1); } finally { Console.SetOut(originalOutWriter); } }