예제 #1
0
        public void Execute_RemoveDuplicates()
        {
            // Arrange
            var task = new GetCentralPackageVersionsTask()
            {
                BuildEngine            = new TestBuildEngine(),
                ProjectUniqueName      = "MyProj",
                TargetFrameworks       = "netstandard2.0",
                CentralPackageVersions = new ITaskItem[]
                {
                    new MockTaskItem("x")
                    {
                        ["Version"] = "[1.0.0]"
                    },
                    new MockTaskItem("X")
                    {
                        ["Version"] = "2.0.0",
                    }
                }
            };

            // Act
            var result = task.Execute();

            // Assert
            Assert.True(result, "Task failed");
            Assert.Equal(1, task.RestoreGraphItems.Length);
            var graphItems = task.RestoreGraphItems.OrderBy(item => item.GetMetadata("Id")).ToList();

            Assert.Equal("x", graphItems[0].GetMetadata("Id"));
            Assert.Equal(task.ProjectUniqueName, task.RestoreGraphItems[0].GetMetadata("ProjectUniqueName"));
            Assert.Equal("CentralPackageVersion", graphItems[0].GetMetadata("Type"));
            Assert.Equal("[1.0.0]", graphItems[0].GetMetadata("VersionRange"));
            Assert.Equal("netstandard2.0", graphItems[0].GetMetadata("TargetFrameworks"));
        }
        public void Execute_CheckMetadata()
        {
            // Arrange
            var buildEngine = new TestBuildEngine();

            var packageX = new TaskItem();

            packageX.ItemSpec = "x";
            packageX.SetMetadata("Version", "[1.0.0]");

            var packageY = new TaskItem();

            packageY.ItemSpec = "y";
            packageY.SetMetadata("Version", "2.0.0");
            packageY.SetMetadata("Dummy", "someDummyValue");

            var centralPackageVersions = new List <ITaskItem>()
            {
                packageX, packageY
            };

            var task = new GetCentralPackageVersionsTask()
            {
                BuildEngine            = buildEngine,
                ProjectUniqueName      = "MyProj",
                TargetFrameworks       = "netstandard2.0",
                CentralPackageVersions = centralPackageVersions.ToArray()
            };

            // Act
            var result = task.Execute();

            // Assert
            Assert.True(result, "Task failed");
            Assert.Equal(2, task.RestoreGraphItems.Length);
            var graphItems = task.RestoreGraphItems.OrderBy(item => item.GetMetadata("Id")).ToList();

            Assert.Equal("x", graphItems[0].GetMetadata("Id"));
            Assert.Equal(task.ProjectUniqueName, task.RestoreGraphItems[0].GetMetadata("ProjectUniqueName"));
            Assert.Equal("CentralPackageVersion", graphItems[0].GetMetadata("Type"));
            Assert.Equal("[1.0.0]", graphItems[0].GetMetadata("VersionRange"));
            Assert.Equal("netstandard2.0", graphItems[0].GetMetadata("TargetFrameworks"));

            Assert.Equal("y", graphItems[1].GetMetadata("Id"));
            Assert.Equal("CentralPackageVersion", graphItems[1].GetMetadata("Type"));
            Assert.Equal("2.0.0", graphItems[1].GetMetadata("VersionRange"));
            Assert.Equal("netstandard2.0", graphItems[1].GetMetadata("TargetFrameworks"));
            Assert.Equal(task.ProjectUniqueName, task.RestoreGraphItems[1].GetMetadata("ProjectUniqueName"));
            Assert.Equal(0, graphItems[1].MetadataNames.Cast <string>().Where(n => string.Equals(n, "Dummy")).Count());
        }
예제 #3
0
        public void Execute_CheckMetadata()
        {
            // Arrange
            var task = new GetCentralPackageVersionsTask()
            {
                BuildEngine            = new TestBuildEngine(),
                ProjectUniqueName      = "MyProj",
                TargetFrameworks       = "netstandard2.0",
                CentralPackageVersions = new ITaskItem[]
                {
                    new MockTaskItem("x")
                    {
                        ["Version"] = "[1.0.0]"
                    },
                    new MockTaskItem("y")
                    {
                        ["Version"] = "2.0.0",
                        ["Dummy"]   = "someDummyValue"
                    }
                }
            };

            // Act
            var result = task.Execute();

            // Assert
            Assert.True(result, "Task failed");
            Assert.Equal(2, task.RestoreGraphItems.Length);
            var graphItems = task.RestoreGraphItems.OrderBy(item => item.GetMetadata("Id")).ToList();

            Assert.Equal("x", graphItems[0].GetMetadata("Id"));
            Assert.Equal(task.ProjectUniqueName, task.RestoreGraphItems[0].GetMetadata("ProjectUniqueName"));
            Assert.Equal("CentralPackageVersion", graphItems[0].GetMetadata("Type"));
            Assert.Equal("[1.0.0]", graphItems[0].GetMetadata("VersionRange"));
            Assert.Equal("netstandard2.0", graphItems[0].GetMetadata("TargetFrameworks"));

            Assert.Equal("y", graphItems[1].GetMetadata("Id"));
            Assert.Equal("CentralPackageVersion", graphItems[1].GetMetadata("Type"));
            Assert.Equal("2.0.0", graphItems[1].GetMetadata("VersionRange"));
            Assert.Equal("netstandard2.0", graphItems[1].GetMetadata("TargetFrameworks"));
            Assert.Equal(task.ProjectUniqueName, task.RestoreGraphItems[1].GetMetadata("ProjectUniqueName"));
            Assert.Equal(0, graphItems[1].MetadataNames.Cast <string>().Where(n => string.Equals(n, "Dummy")).Count());
        }
        public void Execute_RemoveDuplicates()
        {
            // Arrange
            var buildEngine = new TestBuildEngine();

            var packageX = new TaskItem();

            packageX.ItemSpec = "x";
            packageX.SetMetadata("Version", "[1.0.0]");

            var packageY = new TaskItem();

            packageY.ItemSpec = "x";
            packageY.SetMetadata("Version", "2.0.0");

            var centralPackageVersions = new List <ITaskItem>()
            {
                packageX, packageY
            };

            var task = new GetCentralPackageVersionsTask()
            {
                BuildEngine            = buildEngine,
                ProjectUniqueName      = "MyProj",
                TargetFrameworks       = "netstandard2.0",
                CentralPackageVersions = centralPackageVersions.ToArray()
            };

            // Act
            var result = task.Execute();

            // Assert
            Assert.True(result, "Task failed");
            Assert.Equal(1, task.RestoreGraphItems.Length);
            var graphItems = task.RestoreGraphItems.OrderBy(item => item.GetMetadata("Id")).ToList();

            Assert.Equal("x", graphItems[0].GetMetadata("Id"));
            Assert.Equal(task.ProjectUniqueName, task.RestoreGraphItems[0].GetMetadata("ProjectUniqueName"));
            Assert.Equal("CentralPackageVersion", graphItems[0].GetMetadata("Type"));
            Assert.Equal("[1.0.0]", graphItems[0].GetMetadata("VersionRange"));
            Assert.Equal("netstandard2.0", graphItems[0].GetMetadata("TargetFrameworks"));
        }