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); }
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))); }
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); }