public void SetUp()
		{
			testFrameworks = new MockTestFrameworksWithNUnitFrameworkSupport();
			treeView = new DummyParserServiceTestTreeView(testFrameworks);
			
			// Create a solution with two test projects.
			solution = new Solution(new MockProjectChangeWatcher());
			
			// Create the first test project.
			firstProject = new MockCSharpProject(solution, "FirstTestProject");
			ReferenceProjectItem nunitFrameworkReferenceItem = new ReferenceProjectItem(firstProject);
			nunitFrameworkReferenceItem.Include = "NUnit.Framework";
			ProjectService.AddProjectItem(firstProject, nunitFrameworkReferenceItem);

			// Create the second test project.
			secondProject = new MockCSharpProject(solution, "SecondTestProject");
			nunitFrameworkReferenceItem = new ReferenceProjectItem(secondProject);
			nunitFrameworkReferenceItem.Include = "NUnit.Framework";
			ProjectService.AddProjectItem(secondProject, nunitFrameworkReferenceItem);
					
			// Add the projects to the solution.
			solution.Folders.Add(firstProject);
			solution.Folders.Add(secondProject);
			
			// Create a dummy project content so the projects will be added
			// to the tree.
			treeView.ProjectContentForProject = new MockProjectContent();
			
			// Add the solution to the tree.
			treeView.AddSolution(solution);
			
			allTestsTreeNode = treeView.Nodes[0] as AllTestsTreeNode;
			firstTestProject = treeView.GetTestProject(firstProject);
			secondTestProject = treeView.GetTestProject(secondProject);
		}
Example #2
0
        /// <summary>
        /// Adds the project to the test tree view if the project
        /// has a reference to a supported test framework.
        /// </summary>
        /// <remarks>
        /// If the project is already in the tree then it will
        /// not be added again. If a project is already in the tree then
        /// an All Tests root node will be added.
        /// </remarks>
        public void AddProject(IProject project)
        {
            if (TestProject.IsTestProject(project))
            {
                if (GetProjectTreeNode(project) == null)
                {
                    // Add a new tree node.
                    IProjectContent projectContent = GetProjectContent(project);
                    if (projectContent != null)
                    {
                        TestProject         testProject = new TestProject(project, projectContent);
                        TestProjectTreeNode node        = new TestProjectTreeNode(testProject);

                        if (Nodes.Count == 0)
                        {
                            node.AddTo(this);
                        }
                        else
                        {
                            AllTestsTreeNode allTestsNode = GetAllTestsNode();
                            allTestsNode.AddProjectNode(node);
                        }

                        // Sort the nodes.
                        SortNodes(Nodes, true);
                    }
                }
            }
        }
Example #3
0
 void AddProjectTreeNodeToTree(TestProjectTreeNode node)
 {
     if (Nodes.Count == 0)
     {
         node.AddTo(this);
     }
     else
     {
         AllTestsTreeNode allTestsNode = GetAllTestsNode();
         allTestsNode.AddProjectNode(node);
     }
 }
Example #4
0
        /// <summary>
        /// Adds a new All Tests root node.
        /// </summary>
        void AddAllTestsNode()
        {
            // Save existing nodes (should only be one) before
            // clearing so we can add these to the new All Tests node.
            TreeNode[] projectNodes = new TreeNode[Nodes.Count];
            Nodes.CopyTo(projectNodes, 0);
            Nodes.Clear();

            allTestsNode           = new AllTestsTreeNode();
            allTestsNode.Disposed += AllTestsNodeDisposed;
            Nodes.Add(allTestsNode);

            // Add the original project nodes to the new
            // All Tests node.
            foreach (TestProjectTreeNode node in projectNodes)
            {
                allTestsNode.AddProjectNode(node);
            }
        }
Example #5
0
 /// <summary>
 /// Ensures that if the TreeView's Clear method is called
 /// directly the test tree does not think there is still
 /// an All Tests node.
 /// </summary>
 void AllTestsNodeDisposed(object source, EventArgs e)
 {
     allTestsNode.Disposed -= AllTestsNodeDisposed;
     allTestsNode           = null;
 }
		/// <summary>
		/// Ensures that if the TreeView's Clear method is called
		/// directly the test tree does not think there is still 
		/// an All Tests node.
		/// </summary>
		void AllTestsNodeDisposed(object source, EventArgs e)
		{
			allTestsNode.Disposed -= AllTestsNodeDisposed;
			allTestsNode = null;
		}
		/// <summary>
		/// Adds a new All Tests root node.
		/// </summary>
		void AddAllTestsNode()
		{
			// Save existing nodes (should only be one) before 
			// clearing so we can add these to the new All Tests node.
			TreeNode[] projectNodes = new TreeNode[Nodes.Count];
			Nodes.CopyTo(projectNodes, 0);
			Nodes.Clear();
			
			allTestsNode = new AllTestsTreeNode();
			allTestsNode.Disposed += AllTestsNodeDisposed;
			Nodes.Add(allTestsNode);
			
			// Add the original project nodes to the new
			// All Tests node.
			foreach (TestProjectTreeNode node in projectNodes) {
				allTestsNode.AddProjectNode(node);
			}
		}