aboutsummaryrefslogtreecommitdiff
path: root/Codeforces.Test/Tests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Codeforces.Test/Tests.cs')
-rw-r--r--Codeforces.Test/Tests.cs27
1 files changed, 23 insertions, 4 deletions
diff --git a/Codeforces.Test/Tests.cs b/Codeforces.Test/Tests.cs
index d9de594..076b477 100644
--- a/Codeforces.Test/Tests.cs
+++ b/Codeforces.Test/Tests.cs
@@ -1,17 +1,21 @@
+using System.Collections;
+
namespace Codeforces.Test;
public class Tests
{
- [Fact]
- public void TestIO()
+
+ [Theory]
+ [ClassData(typeof(FileNameGenerator))]
+ public void TestIO(string input, string output)
{
IOTester.Start();
- var lines = File.ReadLines(@"..\..\..\input.txt");
+ var lines = File.ReadLines(input);
IOTester.SetInput(lines.ToArray());
Program.Main();
- string[] expectedOutput = File.ReadLines(@"..\..\..\output.txt").ToArray();
+ string[] expectedOutput = File.ReadLines(output).ToArray();
string[] actualOutput = IOTester.GetOutputLines();
Assert.Equal(expectedOutput.Length, actualOutput.Length);
for (int i = 0; i < expectedOutput.Length; i++)
@@ -19,4 +23,19 @@ public class Tests
Assert.Equal(expectedOutput[i], actualOutput[i]);
}
}
+}
+public class FileNameGenerator : IEnumerable<object[]>
+{
+ private readonly string inputFolder = @"..\..\..\Input";
+ public IEnumerator<object[]> 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();
} \ No newline at end of file