From c9ca856d8f76d3b4c86532defa04d47c0d0a17f2 Mon Sep 17 00:00:00 2001 From: Serghei Cebotari Date: Wed, 9 Aug 2023 09:42:50 +0300 Subject: Simple task --- Codeforces.Console/IOTester.cs | 54 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Codeforces.Console/IOTester.cs (limited to 'Codeforces.Console/IOTester.cs') diff --git a/Codeforces.Console/IOTester.cs b/Codeforces.Console/IOTester.cs new file mode 100644 index 0000000..c5ffc77 --- /dev/null +++ b/Codeforces.Console/IOTester.cs @@ -0,0 +1,54 @@ +namespace Codeforces +{ + public class IOTester + { + private static readonly TextReader originalStdIn = Console.In; + private static StringReader? stdIn; + + private static readonly TextWriter originalStdOut = Console.Out; + private static StringWriter? stdOut; + + public static void Start() + { + stdOut = new StringWriter(); + Console.SetOut(stdOut); + } + + public static void End() + { + stdOut = null; + stdIn = null; + Console.SetOut(originalStdOut); + Console.SetIn(originalStdIn); + } + + public static void SetInput(params string[] lines) + { + string input = string.Join(Environment.NewLine, lines); + stdIn = new StringReader(input); + Console.SetIn(stdIn); + } + + public static string GetOutput() + { + if (stdOut == null) + { + return ""; + } + else + { + return stdOut.ToString(); + } + } + + public static string[] GetOutputLines() + { + return GetOutput().Split(Environment.NewLine); + } + + public static IList GetOutputLinesAsList() + { + return new List(GetOutputLines()); + } + } +} \ No newline at end of file -- cgit v1.2.3