private void ProcessTest(TestSuiteResult suite, XmlNode testNode) { TestCaseResult testCase = new TestCaseResult(suite, testNode.Attributes); foreach (XmlNode child in testNode.ChildNodes) { ITestAssertion assertion = TestAssertionFactory.Create( testCase, child.Name, child.Attributes); if (assertion is AssertionWithStackTrace) { AssertionWithStackTrace ast = (AssertionWithStackTrace)assertion; ast.SetMessage(child.InnerText); foreach (XmlNode child2 in child.ChildNodes) { if (child2.Name == "stack-frame") { BacktraceFrame frame = ProcessStackFrame(child2); ast.AddBacktraceFrame(frame); } } } } }
private void HandleNodeDoubleClick(TreeNode node) { object obj = node.Tag; string filename = null; int lineNumber = 1; if (obj is TestSuiteResult) { TestSuiteResult suite = (TestSuiteResult)obj; filename = suite.Filename; lineNumber = suite.LineNumber; } else if (obj is ITestSuiteChildResult) { ITestSuiteChildResult child = (ITestSuiteChildResult)obj; filename = ((TestSuiteResult)child.Parent).Filename; lineNumber = child.LineNumber; } else if (obj is ITestAssertion) { ITestAssertion assertion = (ITestAssertion)obj; TestCaseResult testCase = (TestCaseResult)assertion.Parent; TestSuiteResult suite = (TestSuiteResult)testCase.Parent; filename = suite.Filename; lineNumber = assertion.LineNumber; } else if (obj is BacktraceFrame) { BacktraceFrame frame = (BacktraceFrame)obj; filename = frame.Filename; lineNumber = frame.LineNumber; } if (filename != null) { CxxTestPackage.Instance.OpenFileInEditor(filename, lineNumber); } }
internal void AddAssertion(ITestAssertion assertion) { assertions.Add(assertion); }
private void AddAssertionsToDetail(ITestAssertion[] assertions, TreeNodeCollection nodes) { foreach (ITestAssertion assertion in assertions) { TreeNode node = new TreeNode(); node.Tag = assertion; node.Text = assertion.GetMessage(true).Replace("\n", ""); node.ImageKey = node.SelectedImageKey = GetImageForStatus("Assert", assertion.Status); nodes.Add(node); AddBacktraceToDetail(assertion.Backtrace, node.Nodes); node.Expand(); } }