using System.Collections; namespace Codeforces.Test; public class Tests { [Theory] [ClassData(typeof(FileNameGenerator))] public void TestIO(string input, string output) { IOTester.Start(); var lines = File.ReadLines(input); IOTester.SetInput(lines.ToArray()); Program.Main(); string[] expectedOutput = File.ReadLines(output).ToArray(); string[] actualOutput = IOTester.GetOutputLines(); Assert.Equal(expectedOutput.Length, actualOutput.Length); for (int i = 0; i < expectedOutput.Length; i++) { Assert.Equal(expectedOutput[i], actualOutput[i]); } } } 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(); }