Esempio n. 1
0
        public void ProjectDependenciesSubTreeProvider_CreateRootNode()
        {
            var provider = new TestableProjectDependenciesSubTreeProvider(null, null);

            var rootNode = provider.TestCreateRootNode();

            Assert.True(rootNode is SubTreeRootDependencyNode);
            Assert.True(rootNode.Flags.Contains(provider.ProjectSubTreeRootNodeFlags));
            Assert.Equal(VSResources.ProjectsNodeName, rootNode.Caption);
            Assert.Equal(KnownMonikers.ApplicationGroup, rootNode.Icon);
            Assert.Equal(ProjectDependenciesSubTreeProvider.ProviderTypeString, rootNode.Id.ProviderType);
        }
Esempio n. 2
0
        public void ProjectDependenciesSubTreeProvider_CreateDependencyNode()
        {
            // Arrange
            var projectPath     = @"c:\mySolution\myproject\project.csproj";
            var testProjectPath = @"..\testProjectsubfolder\testproject.csproj";

            var mockUnconfiguredProject = UnconfiguredProjectFactory.Create(filePath: projectPath);

            var provider = new TestableProjectDependenciesSubTreeProvider(unconfiguredProject: mockUnconfiguredProject,
                                                                          projectContextProvider: null);

            // Act
            var resultNode = provider.TestCreateDependencyNode(testProjectPath, "myItemType");

            Assert.Equal(resultNode.Id.ItemSpec, testProjectPath);
            Assert.Equal(resultNode.Id.ContextProject,
                         Path.GetFullPath(Path.Combine(Path.GetDirectoryName(projectPath), testProjectPath)));
        }
Esempio n. 3
0
        public void ProjectDependenciesSubTreeProvider_GetDependencyNode()
        {
            // Arrange
            var projectPath = @"c:\myproject\project.csproj";

            // our provider under test nodes
            var myRootNode = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""ProviderUnderTest"",
        ""ItemSpec"": ""RootNodeUnderTest""
    }
}");

            var myTopNode1 = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""ProviderUnderTest"",
        ""ItemSpec"": ""MyTopNodeItemSpec1""
    }
}");

            var myDependencyNode1 = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""ProviderUnderTest"",
        ""ItemSpec"": ""MyDependencyNodeItemSpec1""
    }
}");

            myDependencyNode1.Id.ContextProject = "c:\\myproject\\project.csproj";

            myTopNode1.AddChild(myDependencyNode1);
            myRootNode.AddChild(myTopNode1);

            // other provider nodes
            var otherProviderRootNode = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""MyProvider"",
        ""ItemSpec"": ""MyRootNode""
    }
}");

            var topNode1 = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""MyProvider"",
        ""ItemSpec"": ""MyTopNodeItemSpec""
    }
}");
            var topNode2 = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""MyProvider"",
        ""ItemSpec"": ""MyTopNodeItemSpec/1.0.0""
    }
}");

            var topNode3 = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""MyProvider"",
        ""ItemSpec"": ""MyTopNodeItemSpec3/1.0.0""
    }
}");

            var childNode1 = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""MyProvider"",
        ""ItemSpec"": ""MyChildNodeItemSpec1.0""
    }
}");

            var childNode2 = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""MyProvider"",
        ""ItemSpec"": ""MyChildNodeItemSpec/1.0.0""
    }
}");

            var childNode3 = IDependencyNodeFactory.FromJson(@"
{
    ""Id"": {
        ""ProviderType"": ""MyProvider"",
        ""ItemSpec"": ""MyChildNodeItemSpec""
    }
}");

            topNode1.AddChild(childNode1);
            topNode2.AddChild(childNode3);
            topNode2.AddChild(childNode2);
            otherProviderRootNode.AddChild(topNode1);
            otherProviderRootNode.AddChild(topNode2);
            otherProviderRootNode.AddChild(topNode3);

            var mockProvider = new IProjectDependenciesSubTreeProviderMock();

            mockProvider.RootNode = otherProviderRootNode;
            mockProvider.AddTestDependencyNodes(new[] { topNode1, topNode2, topNode3 });
            var mockProjectContextProvider = IDependenciesGraphProjectContextProviderFactory.Implement(
                projectPath, subTreeProviders: new[] { mockProvider });

            var provider = new TestableProjectDependenciesSubTreeProvider(unconfiguredProject: null,
                                                                          projectContextProvider: mockProjectContextProvider);

            provider.SetRootNode(myRootNode);

            // Act
            var resultNode = provider.GetDependencyNode(myDependencyNode1.Id);

            // Assert
            Assert.Equal(resultNode.Id, myDependencyNode1.Id);
            Assert.Equal(3, resultNode.Children.Count);
        }