Beispiel #1
0
        void UpdateTextEditor(CodeCoverageTreeNode node)
        {
            CodeCoverageClassTreeNode    classNode    = node as CodeCoverageClassTreeNode;
            CodeCoverageMethodTreeNode   methodNode   = node as CodeCoverageMethodTreeNode;
            CodeCoveragePropertyTreeNode propertyNode = node as CodeCoveragePropertyTreeNode;

            if (classNode != null && classNode.Nodes.Count > 0)
            {
                propertyNode = classNode.Nodes[0] as CodeCoveragePropertyTreeNode;
                methodNode   = classNode.Nodes[0] as CodeCoverageMethodTreeNode;
            }

            if (propertyNode != null && propertyNode.Nodes.Count > 0)
            {
                methodNode = propertyNode.Nodes[0] as CodeCoverageMethodTreeNode;
            }

            if (methodNode != null && methodNode.Method.SequencePoints.Count > 0)
            {
                CodeCoverageSequencePoint sequencePoint = methodNode.Method.SequencePoints[0];
                if (sequencePoint.HasDocument())
                {
                    if (classNode == null)
                    {
                        OpenFile(sequencePoint.Document, sequencePoint.Line, sequencePoint.Column);
                    }
                    else
                    {
                        OpenFile(sequencePoint.Document, 1, 1);
                    }
                }
            }
        }
        protected override void OnAfterSelect(TreeViewEventArgs e)
        {
            CodeCoverageTreeNode node = e.Node as CodeCoverageTreeNode;

            if (node != null)
            {
                node.PerformInitialization();
            }
            base.OnAfterSelect(e);
        }
Beispiel #3
0
        void DisplaySelectedItem(CodeCoverageTreeNode node)
        {
            if (node == null)
            {
                return;
            }

            if (listView != null)
            {
                UpdateListView(node);
            }
            if (textEditor != null)
            {
                UpdateTextEditor(node);
            }
        }
        void UpdateTextEditor(CodeCoverageTreeNode node)
        {
            CodeCoverageClassTreeNode  classNode  = node as CodeCoverageClassTreeNode;
            CodeCoverageMethodTreeNode methodNode = node as CodeCoverageMethodTreeNode;

            if (classNode != null && classNode.Nodes.Count > 0)
            {
                methodNode = (CodeCoverageMethodTreeNode)classNode.Nodes[0];
            }

            if (methodNode != null && methodNode.Method.SequencePoints.Count > 0)
            {
                CodeCoverageSequencePoint sequencePoint = methodNode.Method.SequencePoints[0];
                if (classNode == null)
                {
                    OpenFile(sequencePoint.Document, sequencePoint.Line - 1, sequencePoint.Column - 1);
                }
                else
                {
                    OpenFile(sequencePoint.Document, 1, 1);
                }
            }
        }
Beispiel #5
0
 void UpdateListView(CodeCoverageTreeNode node)
 {
     listView.BeginUpdate();
     try {
         listView.Items.Clear();
         CodeCoverageClassTreeNode    classNode    = node as CodeCoverageClassTreeNode;
         CodeCoverageMethodTreeNode   methodNode   = node as CodeCoverageMethodTreeNode;
         CodeCoveragePropertyTreeNode propertyNode = node as CodeCoveragePropertyTreeNode;
         if (classNode != null)
         {
             AddClassTreeNode(classNode);
         }
         else if (methodNode != null)
         {
             AddSequencePoints(methodNode.Method.SequencePoints);
         }
         else if (propertyNode != null)
         {
             AddPropertyTreeNode(propertyNode);
         }
     } finally {
         listView.EndUpdate();
     }
 }
		void UpdateTextEditor(CodeCoverageTreeNode node)
		{
			CodeCoverageClassTreeNode classNode = node as CodeCoverageClassTreeNode;
			CodeCoverageMethodTreeNode methodNode = node as CodeCoverageMethodTreeNode;
			CodeCoveragePropertyTreeNode propertyNode = node as CodeCoveragePropertyTreeNode;
			if (classNode != null && classNode.Nodes.Count > 0) {
				propertyNode = classNode.Nodes[0] as CodeCoveragePropertyTreeNode;
				methodNode = classNode.Nodes[0] as CodeCoverageMethodTreeNode;
			} 
			
			if (propertyNode != null && propertyNode.Nodes.Count > 0) {
				methodNode = propertyNode.Nodes[0] as CodeCoverageMethodTreeNode;
			}
			
			if (methodNode != null && methodNode.Method.SequencePoints.Count > 0) {
				CodeCoverageSequencePoint sequencePoint = methodNode.Method.SequencePoints[0];
				if (sequencePoint.HasDocument()) {
					if (classNode == null) {
						OpenFile(sequencePoint.Document, sequencePoint.Line, sequencePoint.Column);
					} else {
						OpenFile(sequencePoint.Document, 1, 1);
					}
				}
			}
		}
		void UpdateListView(CodeCoverageTreeNode node)
		{
			listView.BeginUpdate();
			try {
				listView.Items.Clear();
				CodeCoverageClassTreeNode classNode = node as CodeCoverageClassTreeNode;
				CodeCoverageMethodTreeNode methodNode = node as CodeCoverageMethodTreeNode;
				CodeCoveragePropertyTreeNode propertyNode = node as CodeCoveragePropertyTreeNode;
				if (classNode != null) {
					AddClassTreeNode(classNode);
				} else if (methodNode != null) {
					AddSequencePoints(methodNode.Method.SequencePoints);
				} else if (propertyNode != null) {
					AddPropertyTreeNode(propertyNode);
				}
			} finally {
				listView.EndUpdate();
			}
		}
		void DisplaySelectedItem(CodeCoverageTreeNode node)
		{
			if (node == null) {
				return;
			}
			
			if (listView != null) {
				UpdateListView(node);
			} 
			if (textEditor != null) {
				UpdateTextEditor(node);
			}
		}
		public void SetUpFixture()
		{
			treeView = new CodeCoverageTreeView();
			nodeSorter = treeView.NodeSorter;
			
			List<CodeCoverageModule> modules = new List<CodeCoverageModule>();
			
			// Create a module called Z.
			CodeCoverageModule zModule = new CodeCoverageModule("Z");
			modules.Add(zModule);
		
			// Create a module called CodeCoverage.
			CodeCoverageModule codeCoverageModule = new CodeCoverageModule("CodeCoverage");
			modules.Add(codeCoverageModule);
			
			// Add a method that lives in a class without any namespace.
			CodeCoverageMethod testMethod = new CodeCoverageMethod("Test", "TestFixture");
			codeCoverageModule.Methods.Add(testMethod);
			
			// Add a method which produces a namespace that alphabetically 
			// occurs after the class already added.
			CodeCoverageMethod removeCodeMarkersMethod = new CodeCoverageMethod("RemoveCodeMarkersMethod", "Beta.TestFixture");
			codeCoverageModule.Methods.Add(removeCodeMarkersMethod);
			
			// Add a method that lives in a namespace that 
			// occurs before the removeCodeMarkersMethod. We want to 
			// make sure that this namespace node gets added before the Beta one.
			CodeCoverageMethod zebraMethod = new CodeCoverageMethod("Zebra", "Aardvark.TestFixture");
			codeCoverageModule.Methods.Add(zebraMethod);
			
			// Add a second class in the beta namespace so we check the 
			// sorting of classes.
			CodeCoverageMethod addCodeMarkersMethod = new CodeCoverageMethod("AddCodeMarkersMethod", "Beta.AnotherTestFixture");
			codeCoverageModule.Methods.Add(addCodeMarkersMethod);
			
			// Add a method which produces occurs before the remove code markers method.
			CodeCoverageMethod addNodeMethod = new CodeCoverageMethod("AddNode", "Beta.TestFixture");
			codeCoverageModule.Methods.Add(addNodeMethod);
			
			// Add two get and set properties.
			CodeCoverageMethod method = new CodeCoverageMethod("get_Zebra", "Beta.AnotherTestFixture");
			codeCoverageModule.Methods.Add(method);
			method = new CodeCoverageMethod("set_Zebra", "Beta.AnotherTestFixture");
			codeCoverageModule.Methods.Add(method);
			
			method = new CodeCoverageMethod("set_Aardvark", "Beta.AnotherTestFixture");
			codeCoverageModule.Methods.Add(method);
			method = new CodeCoverageMethod("get_Aardvark", "Beta.AnotherTestFixture");
			codeCoverageModule.Methods.Add(method);
			
			// Add a method which should appear between the two properties.
			method = new CodeCoverageMethod("Chimp", "Beta.AnotherTestFixture");
			codeCoverageModule.Methods.Add(method);

			
			// Add the modules to the tree.
			treeView.AddModules(modules);
			
			codeCoverageModuleTreeNode = (CodeCoverageModuleTreeNode)treeView.Nodes[0];
			zModuleTreeNode = (CodeCoverageModuleTreeNode)treeView.Nodes[1];
			
			// Initialise the code coverage module tree node.
			codeCoverageModuleTreeNode.PerformInitialization();
			aardvarkNamespaceTreeNode = (CodeCoverageTreeNode)codeCoverageModuleTreeNode.Nodes[0];
			betaNamespaceTreeNode = (CodeCoverageTreeNode)codeCoverageModuleTreeNode.Nodes[1];
			testFixtureClassTreeNode = (CodeCoverageTreeNode)codeCoverageModuleTreeNode.Nodes[2];
		
			// Initialise the beta namespace tree node.
			betaNamespaceTreeNode.PerformInitialization();
			anotherTestFixtureTreeNode = (CodeCoverageTreeNode)betaNamespaceTreeNode.Nodes[0];
			testFixtureTreeNode = (CodeCoverageTreeNode)betaNamespaceTreeNode.Nodes[1];
		
			// Initialise the test fixture class tree node
			testFixtureTreeNode.PerformInitialization();
			addNodeTestTreeNode = (CodeCoverageTreeNode)testFixtureTreeNode.Nodes[0];
			removeMarkersTestTreeNode = (CodeCoverageTreeNode)testFixtureTreeNode.Nodes[1];
		
			// Initialise the anotherTestFixtureTreeNode
			anotherTestFixtureTreeNode.PerformInitialization();
		}
		public void CodeCoverageTreeNodeCompareString()
		{
			CodeCoverageTreeNode node = new CodeCoverageTreeNode("A", CodeCoverageImageListIndex.Class, 1, 2);
			Assert.AreEqual("A", node.CompareString);
		}
		void UpdateTextEditor(CodeCoverageTreeNode node)
		{
			CodeCoverageClassTreeNode classNode = node as CodeCoverageClassTreeNode;
			CodeCoverageMethodTreeNode methodNode = node as CodeCoverageMethodTreeNode;
			if (classNode != null && classNode.Nodes.Count > 0) {
				methodNode = (CodeCoverageMethodTreeNode)classNode.Nodes[0];
			} 
			
			if (methodNode != null && methodNode.Method.SequencePoints.Count > 0) {
				CodeCoverageSequencePoint sequencePoint = methodNode.Method.SequencePoints[0];
				if (classNode == null) {
					OpenFile(sequencePoint.Document, sequencePoint.Line - 1, sequencePoint.Column - 1);
				} else {
					OpenFile(sequencePoint.Document, 1, 1);
				}
			}
		}