private void CalculateCaseTotalsOnSuite(testsuiteType suite) { //result types //Ignored, Failure, NotRunnable, Error, Success //success is true or false var suiteItems = suite.results.Items.ToList(); var cases = suiteItems.Where(x => x.GetType() == typeof(testcaseType)).Cast<testcaseType>(); suite.asserts = cases.Sum(x => Convert.ToInt16(x.asserts)).ToString(); suite.result = cases.Any(x => x.result == "Failure") ? "Failure" : "Success"; suite.time = cases.Sum(x => Convert.ToDouble(x.time)).ToString(); //suite.executed = cases.All(x => x.executed == "False") ? "False" : "True"; suite.executed = true.ToString(); }
/// <summary> /// Find or create a fixture in a suite by name. /// </summary> /// <param name="suite"></param> /// <returns></returns> private testsuiteType FindOrCreateFixtureResults(resultsType results, string fixtureName) { testsuiteType fixture = null; if (results.Items != null && results.Items.Any()) { fixture = (testsuiteType)results.Items. FirstOrDefault(x => x.GetType() == typeof(testsuiteType) && ((testsuiteType)x).name == fixtureName); if (fixture != null) { return fixture; } } fixture = new testsuiteType { name = fixtureName, description = "Unit tests in Revit.", time = "0.0", type = "TestFixture", result = "Success", executed = "True", results = new resultsType { Items = new object[] { } } }; //add the newly created fixture to the list of fixtures List<object> currentFixtures = null; currentFixtures = results.Items != null ? results.Items.ToList() : new List<object>(); currentFixtures.Add(fixture); results.Items = currentFixtures.ToArray(); return fixture; }
private void CalculateSweetTotalsOnOuterSweet(testsuiteType suite) { var suiteItems = suite.results.Items.ToList(); var innerSuites = suiteItems.Where(x => x.GetType() == typeof (testsuiteType)).Cast<testsuiteType>(); suite.asserts = innerSuites.Sum(x => Convert.ToInt16(x.asserts)).ToString(); suite.result = innerSuites.Any(x => x.result == "Failure") ? "Failure" : "Success"; suite.time = innerSuites.Sum(x => Convert.ToDouble(x.time)).ToString(); }