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);
 }
 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();
            }
        }