예제 #1
0
        public void AppendTest()
        {
            var writer = new ConsoleWriter();

            writer.Append(ConsoleWriter.CreateLine("test-1"));
            writer.Append(ConsoleWriter.CreateLine("test-2.1").WriteLine("test-2.2").WriteLine("test-2.3"));
            writer.Append(ConsoleWriter.Create("test-3 - "));
            writer.Append(ConsoleWriter.CreateLine("test-4.1").Write("test-4.2 - ").WriteLine("test-4.3"));

            writer.Write("Hallo - ");
            writer.Write("Test ");
            writer.WriteLine("test {0}", "hoi");

            AssertLineEndings(writer);
        }
예제 #2
0
        static void Performance()
        {
            var writer = ConsoleWriter.Create(autoFlush: false);

            Stopwatch stopwatch = new Stopwatch();
            long      prebytes  = GC.GetAllocatedBytesForCurrentThread();

            stopwatch.Start();
            for (int i = 0; i < 10000; i++)
            {
                writer.Write(i);
                // Console.Write(i);

                // writer.WriteLine("Line {0}: {1}", i, "Lorem ipsum dolor sit amet, consectetur adipiscing.");
                // Console.WriteLine("Line {0}: {1}", "State", "Lorem ipsum dolor sit amet, consectetur adipiscing.");
            }
            writer.Flush();
            stopwatch.Stop();
            long used = GC.GetAllocatedBytesForCurrentThread() - prebytes;

            System.Console.WriteLine($"Time: {stopwatch.ElapsedMilliseconds}, Allocated Bytes: {used}");
        }
예제 #3
0
        static void VirtualTerminalColor()
        {
            var writer = ConsoleWriter.Create(autoFlush: false);

            using (new TemporaryOutputMode(ConsoleOuputMode.EnableVirtualTerminalProcessing, addFlag: true))
            {
                for (int r = 30; r < 256; r += 30)
                {
                    for (int g = 30; g < 256; g += 30)
                    {
                        for (int b = 30; b < 256; b += 30)
                        {
                            //Console.Write($"{Esc}[38;2;{r};{g};{b}m");
                            //Console.Write("Color!");

                            writer.Write($"{Esc}[38;2;{r};{g};{b}m");
                            writer.Write("Color!");
                            writer.Write($"{Esc}[7m");
                            writer.Write("Color!");
                            writer.Write($"{Esc}[27m");
                        }
                    }
                }

                writer.Flush();

                // Tangerine
                System.Console.WriteLine();
                System.Console.Write($"{Esc}[38;2;242;133;0m");
                System.Console.WriteLine("In living color!");
                System.Console.Write($"{Esc}[4m");
                System.Console.WriteLine("In living color!");
            }

            System.Console.WriteLine("After exiting terminal mode.");
        }