コード例 #1
0
        public void Collection_ProjectItemIsFileInProjectRootFolder_ReturnsProjectItemsCollectionForProject()
        {
            CreateProjectItems();
            msbuildProject.FileName = @"d:\projects\MyProject\MyProject.csproj";
            msbuildProject.AddFile(@"program.cs");
            global::EnvDTE.ProjectItem projectItem = projectItems.Item("program.cs");

            global::EnvDTE.ProjectItems collection = projectItem.Collection;

            Assert.AreEqual(project.ProjectItems, collection);
        }
コード例 #2
0
        public void Collection_ProjectItemIsFileInSubFolderOfProject_ReturnsProjectItemsCollectionForSubFolder()
        {
            CreateProjectItems();
            msbuildProject.FileName = @"d:\projects\MyProject\MyProject.csproj";
            msbuildProject.AddFile(@"src\program.cs");
            global::EnvDTE.ProjectItem srcDirectoryItem = project.ProjectItems.Item("src");
            global::EnvDTE.ProjectItem fileProjectItem  = srcDirectoryItem.ProjectItems.Item("program.cs");

            global::EnvDTE.ProjectItems collection = fileProjectItem.Collection;

            global::EnvDTE.ProjectItem item = collection.Item("program.cs");
            Assert.AreEqual("program.cs", item.Name);
        }
コード例 #3
0
        public void ProjectItems_ProjectItemHasDependentFile_DependentFileNotAvailableFromProjectItems()
        {
            CreateProjectItems();
            msbuildProject.AddFile("MainForm.cs");
            msbuildProject.AddDependentFile("MainForm.Designer.cs", "MainForm.cs");

            global::EnvDTE.ProjectItems projectItems = project.ProjectItems;

            string[] expectedFiles = new string[] {
                "MainForm.cs"
            };
            ProjectItemCollectionAssert.AreEqual(expectedFiles, projectItems);
        }
コード例 #4
0
        public void ProjectItems_ProjectHasOneFileInsideSrcDirectory_ReturnsOneFileForSrcDirectory()
        {
            CreateProjectItems();
            msbuildProject.AddFile(@"src\program.cs");

            global::EnvDTE.ProjectItem  directoryItem         = projectItems.Item("src");
            global::EnvDTE.ProjectItems directoryProjectItems = directoryItem.ProjectItems;

            string[] expectedFiles = new string[] {
                "program.cs"
            };

            ProjectItemCollectionAssert.AreEqual(expectedFiles, directoryProjectItems);
        }
コード例 #5
0
        public void ProjectItems_ProjectItemHasDependentFile_ReturnsDependentFile()
        {
            CreateProjectItems();
            msbuildProject.AddFile("MainForm.cs");
            msbuildProject.AddDependentFile("MainForm.Designer.cs", "MainForm.cs");
            global::EnvDTE.ProjectItem mainFormItem = project.ProjectItems.Item("MainForm.cs");

            global::EnvDTE.ProjectItems mainFormProjectItems = mainFormItem.ProjectItems;

            string[] expectedFiles = new string[] {
                "MainForm.Designer.cs"
            };
            ProjectItemCollectionAssert.AreEqual(expectedFiles, mainFormProjectItems);
        }
コード例 #6
0
        public void ProjectItems_ProjectHasTestDirectoryInsideSrcDirectory_ReturnsTestDirectoryItemForSrcDirectory()
        {
            CreateProjectItems();
            msbuildProject.AddDirectory(@"src\test");

            global::EnvDTE.ProjectItem  directoryItem         = projectItems.Item("src");
            global::EnvDTE.ProjectItems directoryProjectItems = directoryItem.ProjectItems;
            var items = directoryProjectItems as IEnumerable;

            string[] expectedItems = new string[] {
                "test"
            };

            ProjectItemCollectionAssert.AreEqual(expectedItems, items);
        }
コード例 #7
0
        public void ProjectItems_ProjectHasTwoFilesOneNotInSrcDirectory_ReturnsOneFileItemForSrcDirectory()
        {
            CreateProjectItems();
            msbuildProject.AddFile(@"src\test.cs");
            msbuildProject.AddFile("program.cs");

            global::EnvDTE.ProjectItem  directoryItem         = projectItems.Item("src");
            global::EnvDTE.ProjectItems directoryProjectItems = directoryItem.ProjectItems;
            var items = directoryProjectItems as IEnumerable;

            string[] expectedItems = new string[] {
                "test.cs"
            };

            ProjectItemCollectionAssert.AreEqual(expectedItems, items);
        }
コード例 #8
0
        public void ProjectItems_ProjectHasOneFileInTestDirectoryTwoLevelsDeep_ReturnsOneFileItemForTestDirectory()
        {
            CreateProjectItems();
            msbuildProject.AddFile(@"src\test\test.cs");

            global::EnvDTE.ProjectItem  directoryItem             = projectItems.Item("src");
            global::EnvDTE.ProjectItem  testDirectoryItem         = directoryItem.ProjectItems.Item("test");
            global::EnvDTE.ProjectItems testDirectoryProjectItems = testDirectoryItem.ProjectItems;
            var items = testDirectoryProjectItems as IEnumerable;

            string[] expectedItems = new string[] {
                "test.cs"
            };

            ProjectItemCollectionAssert.AreEqual(expectedItems, items);
        }
コード例 #9
0
 List <DTE.ProjectItem> GetAllChildItems(global::EnvDTE.ProjectItems projectItems)
 {
     return(projectItems.OfType <DTE.ProjectItem>().ToList());
 }
コード例 #10
0
 DTE.ProjectItem GetFirstChildItem(global::EnvDTE.ProjectItems projectItems)
 {
     return(projectItems.OfType <DTE.ProjectItem>().FirstOrDefault());
 }
コード例 #11
0
 DTE.ProjectItem GetChildItem(global::EnvDTE.ProjectItems projectItems, string name)
 {
     return(projectItems
            .OfType <DTE.ProjectItem>()
            .SingleOrDefault(item => item.Name == name));
 }