List<Result> Test(Stream stream, string testName) { var results = new List<Result>(); var runner = new TestRunner(); var errors = Extension.GetRows(stream).Select(r => runner.Run(r, testName)).SelectMany(e => e).ToList(); foreach (var group in errors.GroupBy(e => e.Message)) { results.Add(new Result { Title = group.Key, Errors = group.Select(e => e.Row.ToString() ).ToList()}); } var testTotals = errors.GroupBy(e => e.TestName).Select(g => new Tuple<string, int>(g.Key, g.Count())); ViewBag.TestTotals = testTotals; return results; }
static void ValidateFile(string filename) { var output = "output"; var runner = new TestRunner(); var outputFile = output + "\\" + new FileInfo(filename).Name; using (var writer = new StreamWriter(outputFile)) { var errors = Extension.GetRows(filename).Select(r => runner.Run(r)).SelectMany(e => e); foreach(var group in errors.GroupBy(e => e.Message)) { writer.WriteLine("---------- " + group.Key + " ----------"); group.ForEach(e => writer.WriteLine(e.Row)); writer.WriteLine(); } } }