Ejemplo n.º 1
0
        public void NuGetDependenciesSubTreeProvider_DependenciesSnapshot_GetUniqueTopLevelDependencies()
        {
            var provider = new TestableNuGetDependenciesSubTreeProvider();

            var snapshotJson = @"
{
    ""NodesCache"": [ ],
    ""DependenciesWorld"": [
        {
            ""ItemSpec"": ""tfm1"",
            ""Properties"": {
                ""Name"": ""tfm1"",
                ""Type"": ""Target"",
                ""Dependencies"": ""Package3/2.0.0;Package2/1.0.0""
            }
        },
        {
            ""ItemSpec"": ""tfm1/Package3/2.0.0"",
            ""Properties"": {
                ""Name"": ""Package3"",
                ""Version"": ""2.0.0"",
                ""Type"": ""Package"",
                ""Path"": ""SomePath"",
                ""Resolved"": ""true"",
                ""Dependencies"": """"
            }
        },
        {
            ""ItemSpec"": ""tfm1/Package2/1.0.0"",
            ""Properties"": {
                ""Name"": ""Package2"",
                ""Version"": ""1.0.0"",
                ""Type"": ""Package"",
                ""Path"": ""SomePath"",
                ""Resolved"": ""true"",
                ""Dependencies"": """"
            }
        },
        {
            ""ItemSpec"": ""tfm2"",
            ""Properties"": {
                ""Name"": ""tfm2"",
                ""Type"": ""Target"",
                ""Dependencies"": ""Package1/1.0.0""
            }
        },
        {
            ""ItemSpec"": ""tfm2/Package1/1.0.0"",
            ""Properties"": {
                ""Name"": ""Package1"",
                ""Version"": ""1.0.0"",
                ""Type"": ""Package"",
                ""Path"": ""SomePath"",
                ""Resolved"": ""true"",
                ""Dependencies"": """"
            }
        },
        {
            ""ItemSpec"": ""tfm2/Package2/1.0.0"",
            ""Properties"": {
                ""Name"": ""Package2"",
                ""Version"": ""1.0.0"",
                ""Type"": ""Package"",
                ""Path"": ""SomePath"",
                ""Resolved"": ""true"",
                ""Dependencies"": """"
            }
        }
    ]
}";

            provider.LoadSnapshotFromJson(snapshotJson);

            var topLevelDependencies = provider.GetUniqueTopLevelDependencies();

            Assert.Equal(3, topLevelDependencies.Count);
            Assert.True(topLevelDependencies.Contains("tfm1/Package3/2.0.0"));
            Assert.True(topLevelDependencies.Contains("tfm1/Package2/1.0.0"));
            Assert.True(topLevelDependencies.Contains("tfm2/Package1/1.0.0"));
        }