Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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);
            }
        }