Пример #1
0
        public void RecursiveFindByNameIgnoreCase()
        {
            MockVSHierarchy hierarchy = new MockVSHierarchy();
            MockVsSolution  solution  = new MockVsSolution(hierarchy);
            MockVSHierarchy project1  = new MockVSHierarchy("Project1.project");

            hierarchy.AddProject(project1);
            string child1 = "Child1";

            project1.AddChild(child1);
            MockVSHierarchy project2 = new MockVSHierarchy("Project2.project");

            hierarchy.AddProject(project2);
            string child2 = "ChIlD2.cd";

            project2.AddChild(child2);
            string child3 = "ChildThree3";

            project2.AddChild(child3);
            string child4 = "Child4NotAdded";

            HierarchyNode node = new HierarchyNode(solution);

            Assert.IsNull(node.FindByName(child1));
            Assert.IsNull(node.FindByName(child2));
            Assert.IsNull(node.FindByName(child3));
            Assert.IsNull(node.FindByName(child4));
            Assert.IsNotNull(node.RecursiveFindByName(child1.ToLowerInvariant()));
            Assert.IsNotNull(node.RecursiveFindByName(child2.ToUpperInvariant()));
            Assert.IsNotNull(node.RecursiveFindByName(CodeIdentifier.MakeCamel(child3)));
            Assert.IsNull(node.RecursiveFindByName(child4));
        }
Пример #2
0
        public void RecursiveFindByName()
        {
            MockVSHierarchy hierarchy = new MockVSHierarchy();
            MockVsSolution  solution  = new MockVsSolution(hierarchy);
            MockVSHierarchy project1  = new MockVSHierarchy("Project1.project");

            hierarchy.AddProject(project1);
            string child1 = "Child1";

            project1.AddChild(child1);
            MockVSHierarchy project2 = new MockVSHierarchy("Project2.project");

            hierarchy.AddProject(project2);
            string child2 = "Child2";

            project2.AddChild(child2);
            string child3 = "Child3";

            project2.AddChild(child3);
            string child4 = "Child4";

            HierarchyNode node = new HierarchyNode(solution);

            Assert.IsNull(node.FindByName(child1));
            Assert.IsNull(node.FindByName(child2));
            Assert.IsNull(node.FindByName(child3));
            Assert.IsNull(node.FindByName(child4));
            Assert.IsNotNull(node.RecursiveFindByName(child1));
            Assert.IsNotNull(node.RecursiveFindByName(child2));
            Assert.IsNotNull(node.RecursiveFindByName(child3));
            Assert.IsNull(node.RecursiveFindByName(child4));
        }
Пример #3
0
 public void FindByName()
 {
     MockVSHierarchy hierarchy = new MockVSHierarchy();
     MockVsSolution solution = new MockVsSolution(hierarchy);
     string child1 = "Child1";
     string child2 = "Child2";
     string child3 = "Child3";
     string child4 = "Child4";
     hierarchy.AddChild(child1);
     hierarchy.AddChild(child2);
     hierarchy.AddChild(child3);
     HierarchyNode node = new HierarchyNode(solution);
     Assert.IsNotNull(node.FindByName(child1));
     Assert.IsNotNull(node.FindByName(child2));
     Assert.IsNotNull(node.FindByName(child3));
     Assert.IsNull(node.FindByName(child4));
 }
Пример #4
0
        public void FindByName()
        {
            MockVSHierarchy hierarchy = new MockVSHierarchy();
            MockVsSolution  solution  = new MockVsSolution(hierarchy);
            string          child1    = "Child1";
            string          child2    = "Child2";
            string          child3    = "Child3";
            string          child4    = "Child4";

            hierarchy.AddChild(child1);
            hierarchy.AddChild(child2);
            hierarchy.AddChild(child3);
            HierarchyNode node = new HierarchyNode(solution);

            Assert.IsNotNull(node.FindByName(child1));
            Assert.IsNotNull(node.FindByName(child2));
            Assert.IsNotNull(node.FindByName(child3));
            Assert.IsNull(node.FindByName(child4));
        }
Пример #5
0
 /// <summary>
 /// Gets an existing the mapping file or null otherwise.
 /// </summary>
 public HierarchyNode GetMappingFile()
 {
     using (HierarchyNode root = new HierarchyNode(VSSolution))
         using (HierarchyNode folder = root.FindByName(Helpers.Constants.SolutionItems))
         {
             if (folder != null)
             {
                 return(folder.FindByName(Helpers.Constants.MappingFile));
             }
             return(null);
         }
 }
Пример #6
0
        public void TestFileHasIcon()
        {
            MockVSHierarchy hierarchy = new MockVSHierarchy();
            MockVsSolution  solution  = new MockVsSolution(hierarchy);
            string          docName   = "Doc1.doc";

            hierarchy.AddChild(docName);
            HierarchyNode slnNode = new HierarchyNode(solution);
            HierarchyNode node    = slnNode.FindByName(docName);

            Assert.IsNotNull(node.Icon);
        }
Пример #7
0
        public void ShouldReturnTypeGuidForSolutionFile()
        {
            MockVSHierarchy root      = new MockVSHierarchy();
            MockVsSolution  solution  = new MockVsSolution(root);
            string          childName = "Child1.txt";

            root.AddChild(childName);

            HierarchyNode slnNode   = new HierarchyNode(solution);
            HierarchyNode childNode = slnNode.FindByName(childName);

            Assert.AreEqual <Guid>(VSConstants.GUID_ItemType_PhysicalFile, childNode.TypeGuid);
        }
Пример #8
0
        public void ShouldReturnTypeGuidForSolutionFolder()
        {
            MockVSHierarchy hierarchy = new MockVSHierarchy();
            MockVsSolution  solution  = new MockVsSolution(hierarchy);
            MockVSHierarchy project   = new MockVSHierarchy("Project4.project");

            project.TypeGuid = VSConstants.GUID_ItemType_VirtualFolder;
            hierarchy.AddProject(project);

            HierarchyNode slnNode = new HierarchyNode(solution);
            HierarchyNode prjNode = slnNode.FindByName("Project4.project");

            Assert.AreEqual <Guid>(VSConstants.GUID_ItemType_VirtualFolder, prjNode.TypeGuid);
        }
Пример #9
0
 private HierarchyNode InternalGetOrCreateMappingFile()
 {
     using (HierarchyNode root = new HierarchyNode(VSSolution))
     {
         HierarchyNode found = root.RecursiveFindByName(Helpers.Constants.MappingFile);
         if (found != null)
         {
             return(found);
         }
         using (found = root.FindOrCreateSolutionFolder(Helpers.Constants.SolutionItems))
         {
             return(found != null?found.FindByName(Helpers.Constants.MappingFile) : null);
         }
     }
 }
Пример #10
0
        public void TestFindSubFolder()
        {
            ProjectNode projectNode   = new ProjectNode(_vsSolution, _project.Guid);
            string      parentFolder  = "Folder" + Guid.NewGuid();
            string      subFolderName = "subFolder1";

            Assert.IsNotNull(projectNode.FindSubfolder("\\" + parentFolder + "\\" + subFolderName + "\\" + subFolderName + "\\"));
            HierarchyNode parentFolderNode = projectNode.FindByName(parentFolder);

            Assert.IsNotNull(parentFolderNode);
            HierarchyNode subFolder1Node = parentFolderNode.FindByName(subFolderName);

            Assert.IsNotNull(subFolder1Node);
            HierarchyNode subFolder2Node = subFolder1Node.FindByName(subFolderName);

            Assert.IsNotNull(subFolder2Node);
        }
Пример #11
0
        public void TestRelativePath()
        {
            MockVSHierarchy hierarchy = new MockVSHierarchy();
            MockVsSolution  solution  = new MockVsSolution(hierarchy);
            MockVSHierarchy folder1   = new MockVSHierarchy("folder1");

            hierarchy.AddProject(folder1);
            string child1 = "subFolder1";

            folder1.AddChild(child1);
            HierarchyNode rootNode    = new HierarchyNode(solution);
            HierarchyNode folder1Node = rootNode.FindByName("folder1");
            HierarchyNode child1Node  = folder1Node.FindByName(child1);

            Assert.IsNotNull(child1Node.RelativePath);
            Assert.AreEqual <string>(Path.Combine(Directory.GetCurrentDirectory(), child1), child1Node.RelativePath);
        }
		public void ShouldFilterOutChildren()
		{
			MockVSHierarchy root = new MockVSHierarchy();
			MockVsSolution solution = new MockVsSolution(root);
			string childName = "Child1.txt";
			root.AddChild(childName);
			string projectName = "Project1.project";
			MockVSHierarchy project = new MockVSHierarchy(projectName);
			root.AddProject(project);

			HierarchyNode slnNode = new HierarchyNode(solution);
			HierarchyNode projectNode = new HierarchyNode(solution, project.GUID);
			HierarchyNode childNode = slnNode.FindByName(childName);
			
			OnlyProjectsFilter target = new OnlyProjectsFilter();
			Assert.IsFalse(target.Filter(slnNode));
			Assert.IsTrue(target.Filter(childNode));
			Assert.IsFalse(target.Filter(projectNode));
		}
        public void ShouldFilterOutChildren()
        {
            MockVSHierarchy root      = new MockVSHierarchy();
            MockVsSolution  solution  = new MockVsSolution(root);
            string          childName = "Child1.txt";

            root.AddChild(childName);
            string          projectName = "Project1.project";
            MockVSHierarchy project     = new MockVSHierarchy(projectName);

            root.AddProject(project);

            HierarchyNode slnNode     = new HierarchyNode(solution);
            HierarchyNode projectNode = new HierarchyNode(solution, project.GUID);
            HierarchyNode childNode   = slnNode.FindByName(childName);

            OnlyProjectsFilter target = new OnlyProjectsFilter();

            Assert.IsFalse(target.Filter(slnNode));
            Assert.IsTrue(target.Filter(childNode));
            Assert.IsFalse(target.Filter(projectNode));
        }
Пример #14
0
		public void RecursiveFindByName()
		{
			MockVSHierarchy hierarchy = new MockVSHierarchy();
			MockVsSolution solution = new MockVsSolution(hierarchy);
			MockVSHierarchy project1 = new MockVSHierarchy("Project1.project");
			hierarchy.AddProject(project1);
			string child1 = "Child1";
			project1.AddChild(child1);
			MockVSHierarchy project2 = new MockVSHierarchy("Project2.project");
			hierarchy.AddProject(project2);
			string child2 = "Child2";
			project2.AddChild(child2);
			string child3 = "Child3";
			project2.AddChild(child3);
			string child4 = "Child4";

			HierarchyNode node = new HierarchyNode(solution);
			Assert.IsNull(node.FindByName(child1));
			Assert.IsNull(node.FindByName(child2));
			Assert.IsNull(node.FindByName(child3));
			Assert.IsNull(node.FindByName(child4));
			Assert.IsNotNull(node.RecursiveFindByName(child1));
			Assert.IsNotNull(node.RecursiveFindByName(child2));
			Assert.IsNotNull(node.RecursiveFindByName(child3));
			Assert.IsNull(node.RecursiveFindByName(child4));
		}
Пример #15
0
		public void RecursiveFindByNameIgnoreCase()
		{
			MockVSHierarchy hierarchy = new MockVSHierarchy();
			MockVsSolution solution = new MockVsSolution(hierarchy);
			MockVSHierarchy project1 = new MockVSHierarchy("Project1.project");
			hierarchy.AddProject(project1);
			string child1 = "Child1";
			project1.AddChild(child1);
			MockVSHierarchy project2 = new MockVSHierarchy("Project2.project");
			hierarchy.AddProject(project2);
			string child2 = "ChIlD2.cd";
			project2.AddChild(child2);
			string child3 = "ChildThree3";
			project2.AddChild(child3);
			string child4 = "Child4NotAdded";

			HierarchyNode node = new HierarchyNode(solution);
			Assert.IsNull(node.FindByName(child1));
			Assert.IsNull(node.FindByName(child2));
			Assert.IsNull(node.FindByName(child3));
			Assert.IsNull(node.FindByName(child4));
			Assert.IsNotNull(node.RecursiveFindByName(child1.ToLowerInvariant()));
			Assert.IsNotNull(node.RecursiveFindByName(child2.ToUpperInvariant()));
			Assert.IsNotNull(node.RecursiveFindByName(CodeIdentifier.MakeCamel(child3)));
			Assert.IsNull(node.RecursiveFindByName(child4));
		}
Пример #16
0
		public void TestRelativePath()
		{
			MockVSHierarchy hierarchy = new MockVSHierarchy();
			MockVsSolution solution = new MockVsSolution(hierarchy);
			MockVSHierarchy folder1 = new MockVSHierarchy("folder1");
			hierarchy.AddProject(folder1);
			string child1 = "subFolder1";
			folder1.AddChild(child1);
			HierarchyNode rootNode = new HierarchyNode(solution);
			HierarchyNode folder1Node = rootNode.FindByName("folder1");
			HierarchyNode child1Node = folder1Node.FindByName(child1);
			Assert.IsNotNull(child1Node.RelativePath);
			Assert.AreEqual<string>(Path.Combine(Directory.GetCurrentDirectory(), child1), child1Node.RelativePath);
		}
Пример #17
0
		public void TestFileHasIcon()
		{
			MockVSHierarchy hierarchy = new MockVSHierarchy();
			MockVsSolution solution = new MockVsSolution(hierarchy);
			string docName = "Doc1.doc";
			hierarchy.AddChild(docName);
			HierarchyNode slnNode = new HierarchyNode(solution);
			HierarchyNode node = slnNode.FindByName(docName);
			Assert.IsNotNull(node.Icon);
		}
Пример #18
0
		public void ShouldReturnTypeGuidForSolutionFile()
		{
			MockVSHierarchy root = new MockVSHierarchy();
			MockVsSolution solution = new MockVsSolution(root);
			string childName = "Child1.txt";
			root.AddChild(childName);

			HierarchyNode slnNode = new HierarchyNode(solution);
			HierarchyNode childNode = slnNode.FindByName(childName);

			Assert.AreEqual<Guid>(VSConstants.GUID_ItemType_PhysicalFile, childNode.TypeGuid);
		}
Пример #19
0
		public void ShouldReturnTypeGuidForSolutionFolder()
		{
			MockVSHierarchy hierarchy = new MockVSHierarchy();
			MockVsSolution solution = new MockVsSolution(hierarchy);
			MockVSHierarchy project = new MockVSHierarchy("Project4.project");
			project.TypeGuid = VSConstants.GUID_ItemType_VirtualFolder;
			hierarchy.AddProject(project);

			HierarchyNode slnNode = new HierarchyNode(solution);
			HierarchyNode prjNode = slnNode.FindByName("Project4.project");

			Assert.AreEqual<Guid>(VSConstants.GUID_ItemType_VirtualFolder, prjNode.TypeGuid);
		}