Exemplo n.º 1
0
            private static IEnumerable <ITestCaseData> GetTestCases()
            {
                const string testCasesDir = @"Pcre\TestCases";

                for (var fileIndex = 0; fileIndex < InputFiles.GetLength(0); ++fileIndex)
                {
                    var testFileName = InputFiles[fileIndex, 0];

                    using (var inputFs = File.OpenRead(Path.Combine(testCasesDir, testFileName)))
                        using (var outputFs = File.OpenRead(Path.Combine(testCasesDir, InputFiles[fileIndex, 1])))
                            using (var inputReader = new TestInputReader(inputFs))
                                using (var outputReader = new TestOutputReader(outputFs))
                                {
                                    var tests = inputReader.ReadTestCases().Zip(outputReader.ReadTestOutputs(), (i, o) => new
                                    {
                                        testCase       = i,
                                        expectedResult = o
                                    });

                                    foreach (var test in tests)
                                    {
                                        var testCase = new TestCaseData(test.testCase, test.expectedResult)
                                                       .SetCategory(testFileName)
                                                       .SetName(String.Format("{0} line {1:0000}", testFileName, test.testCase.Pattern.LineNumber))
                                                       .SetDescription(test.testCase.Pattern.Pattern);

                                        yield return(testCase);
                                    }
                                }
                }
            }
Exemplo n.º 2
0
            private static IEnumerable <ITestCaseData> GetTestCases()
            {
                var testCasesDir = Path.Combine(Path.GetDirectoryName(typeof(PcreTests).Assembly.Location) ?? throw new InvalidOperationException(), @"Pcre\TestCases");

                for (var fileIndex = 0; fileIndex < InputFiles.GetLength(0); ++fileIndex)
                {
                    var testFileName = InputFiles[fileIndex, 0];

                    using (var inputFs = File.OpenRead(Path.Combine(testCasesDir, testFileName)))
                        using (var outputFs = File.OpenRead(Path.Combine(testCasesDir, InputFiles[fileIndex, 1])))
                            using (var inputReader = new TestInputReader(inputFs))
                                using (var outputReader = new TestOutputReader(outputFs))
                                {
                                    var tests = inputReader.ReadTestCases().Zip(outputReader.ReadTestOutputs(), (i, o) => new
                                    {
                                        testCase       = i,
                                        expectedResult = o
                                    });

                                    foreach (var test in tests)
                                    {
                                        var testCase = new TestCaseData(test.testCase, test.expectedResult)
                                                       .SetCategory(testFileName)
                                                       .SetName($"{testFileName} line {test.testCase.Pattern.LineNumber:0000}")
                                                       .SetDescription(test.testCase.Pattern.Pattern);

                                        yield return(testCase);
                                    }
                                }
                }
            }