static TestResult ProcessTestResults(SelfTest test) { var results = NUnitResults.Load(PathHelper.GetEntryPath("TestResult.xml")); var testCases = results .GetTestCases() .Select(x => new { Element = x, Description = x.Attribute("description") != null ? x.Attribute("description").Value : null, Success = bool.Parse(x.Attribute("success").Value), Messages = x.Descendants("message").Select(y => y.Value).ToArray() }) .ToArray(); var succeeded = testCases.Count(x => x.Success); var total = testCases.Count(); var msg = succeeded == 0 ? test.Messages[0] : succeeded != total ? test.Messages[1] : test.Messages[2]; var details = testCases.SelectMany(x => x.Messages).DefaultIfEmpty().Aggregate((x, y) => x + "\r\n" + y); return(new TestResult(test.Name, msg, details, testCases.All(x => x.Success), succeeded, total)); }
static TestResult RunTest(SelfTestAssembly asm, SelfTest test) { WriteHeader(string.Format("PHPVH Self Test: {0}", test.Name)); Cli.WriteLine(); RunNUnit(asm, test); return(ProcessTestResults(test)); }
static int RunNUnit(SelfTestAssembly asm, SelfTest test) { return(NUnit.ConsoleRunner.Runner.Main(new[] { asm.Assembly, test.Arg, "/nologo", "/trace:Off", "/domain:none", "/out:TestResult.txt", "/err:TestErr.txt", })); }
static TestResult RunTest(SelfTestAssembly asm, SelfTest test) { WriteHeader(string.Format("PHPVH Self Test: {0}", test.Name)); Cli.WriteLine(); RunNUnit(asm, test); return ProcessTestResults(test); }
static int RunNUnit(SelfTestAssembly asm, SelfTest test) { return NUnit.ConsoleRunner.Runner.Main(new[] { asm.Assembly, test.Arg, "/nologo", "/trace:Off", "/domain:none", "/out:TestResult.txt", "/err:TestErr.txt", }); }
static TestResult ProcessTestResults(SelfTest test) { var results = NUnitResults.Load(PathHelper.GetEntryPath("TestResult.xml")); var testCases = results .GetTestCases() .Select(x => new { Element = x, Description = x.Attribute("description") != null ? x.Attribute("description").Value : null, Success = bool.Parse(x.Attribute("success").Value), Messages = x.Descendants("message").Select(y => y.Value).ToArray() }) .ToArray(); var succeeded = testCases.Count(x => x.Success); var total = testCases.Count(); var msg = succeeded == 0 ? test.Messages[0] : succeeded != total ? test.Messages[1] : test.Messages[2]; var details = testCases.SelectMany(x => x.Messages).DefaultIfEmpty().Aggregate((x, y) => x + "\r\n" + y); return new TestResult(test.Name, msg, details, testCases.All(x => x.Success), succeeded, total); }