using System.Collections; namespace Codeforces.Test; public class Tests { [Fact(Timeout = 30000)] public void TestText() { IOTester.Start(); string[] input = [ "5", "256 42", "1000 1000", "-1000 1000", "-1000 1000", "20 22" ]; IOTester.SetInput(input); Program.Main(); string[] expected = [ "298", "2000", "0", "0", "42" ]; string[] actual = IOTester.GetOutputLines().ToArray(); Assert.Equal(expected, actual); } [Theory(Timeout = 30000)] [ClassData(typeof(FileNameGenerator))] public void TestIO(string input, string output) { IOTester.Start(); var lines = File.ReadLines(input); IOTester.SetInput(lines.ToArray()); Program.Main(); var expectedOutput = File.ReadLines(output); var actualOutput = IOTester.GetOutputLines(); Assert.Equal(expectedOutput, actualOutput); } } public class FileNameGenerator : IEnumerable { private readonly string inputFolder = @"../../../Input"; public IEnumerator GetEnumerator() { foreach (var input in Directory.GetFiles(inputFolder)) { string name = Path.GetFileName(input); string output = $"../../../Output/{name}.a"; yield return new object[] { input, output }; } } IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); }