SetOut() public static méthode

public static SetOut ( System newOut ) : void
newOut System
Résultat void
Exemple #1
0
        protected virtual void Dispose(bool disposing)
        {
            if (disposed)
            {
                return;
            }

            if (disposing)
            {
                SystemConsole.SetOut(originalOutput);
                stringWriter?.Dispose();
            }

            disposed = true;
        }
Exemple #2
0
        static MDebug()
        {
            Directory.CreateDirectory(Path.GetDirectoryName(LogPath));

            if (File.Exists(LogPath))
            {
                if (File.Exists(OldLogPath))
                {
                    File.Delete(OldLogPath); //TODO Keep it?
                }
                File.Move(LogPath, OldLogPath);
            }

            LogWriter           = new StreamWriter(LogPath);
            LogWriter.AutoFlush = true;

            SConsole.SetOut(new CustomTextWriter(SConsole.Out, LogWriter));
            Application.logMessageReceived += LogCallback;
        }
Exemple #3
0
        public Stream Redirect(Action action)
        {
            var    standardOut = SysConsole.Out;
            Stream result      = null;

            //We want not to dispose writer because we need to keep the underling stream open
            var writer = new StreamWriter(new MemoryStream());

            SysConsole.SetOut(writer);

            action?.Invoke();

            writer.Flush();
            result = writer.BaseStream;

            SysConsole.SetOut(standardOut);
            result.Position = 0;
            return(result);
        }
Exemple #4
0
        public void StandardIOComplies()
        {
            #region In, Out, Error
            // Assert.
            Assert.Same(Base.In, Facade.In);
            Assert.Same(Base.Out, Facade.Out);
            Assert.Same(Base.Error, Facade.Error);
            #endregion

            #region SetIn, SetOut, SetError
            // Base/Facade
            // Act.
            Base.SetIn(TestIn);
            Base.SetOut(TestOut);
            Base.SetError(TestError);

            // Assert.
            Assert.Same(Base.In, Facade.In);
            Assert.Same(Base.Out, Facade.Out);
            Assert.Same(Base.Error, Facade.Error);

            // Teardown.
            Base.SetIn(BaseIn);
            Base.SetOut(BaseOut);
            Base.SetError(BaseError);

            // Facade/Base
            // Act.
            Facade.SetIn(TestIn);
            Facade.SetOut(TestOut);
            Facade.SetError(TestError);

            // Assert.
            Assert.Same(Facade.In, Base.In);
            Assert.Same(Facade.Out, Base.Out);
            Assert.Same(Facade.Error, Base.Error);
            #endregion

            #region WriteLine, ReadLine, Clear
            // Base/Facade
            // Act.
            Base.WriteLine("Hello, world!");

            // Assert.
            TestStream.Position = 0;
            Assert.Equal("Hello, world!", Facade.ReadLine());

            // Act.
            Base.Clear();

            // Assert.
            Assert.Equal(string.Empty, Facade.ReadLine());

            // Facade/Base
            // Act.
            Facade.WriteLine("Hello, world!");

            // Assert.
            TestStream.Position = 0;
            Assert.Equal("Hello, world!", Base.ReadLine());

            // Act.
            Facade.Clear();

            // Assert.
            Assert.Equal(string.Empty, Base.ReadLine());
            #endregion

            #region Teardown
            // Act.
            Base.SetIn(BaseIn);
            Base.SetOut(BaseOut);
            Base.SetError(BaseError);

            // Assert.
            Assert.Same(BaseIn, Facade.In);
            Assert.Same(BaseOut, Facade.Out);
            Assert.Same(BaseError, Facade.Error);
            #endregion
        }
Exemple #5
0
 /// <summary>
 /// Creates a new instance of <see cref="ConsoleOutput"/>.
 /// </summary>
 public ConsoleOutput()
 {
     originalOutput = SystemConsole.Out;
     stringWriter   = new StringWriter();
     SystemConsole.SetOut(stringWriter);
 }