public void ElementNameGetter_ReturnsPackageSource()
        {
            var original = new PackageSourceMappingSourceItem("name", new List <PackagePatternItem>()
            {
                new PackagePatternItem("stuff"), new PackagePatternItem("stuff2")
            });

            original.ElementName.Should().Be("packageSource");
        }
Пример #2
0
        private static bool PackageSourceMappingSourceItem_Equals(PackageSourceMappingSourceItem item1, PackageSourceMappingSourceItem item2)
        {
            if (!ItemBase_DeepEquals(item1, item2))
            {
                return(false);
            }

            return(item1.Patterns.OrderedEquals(item2.Patterns, e => e.Pattern, StringComparer.OrdinalIgnoreCase));
        }
        public void Equals_WithDifferentPackagePatterns_ReturnsTrue()
        {
            var left = new PackageSourceMappingSourceItem("name", new List <PackagePatternItem>()
            {
                new PackagePatternItem("stuff"), new PackagePatternItem("stuff2")
            });
            var right = new PackageSourceMappingSourceItem("name", new List <PackagePatternItem>()
            {
                new PackagePatternItem("stuff"), new PackagePatternItem("stuff3")
            });

            left.Equals(right).Should().BeTrue();
        }
        public void HashCode_WithDifferentNames_ReturnsFalse()
        {
            var left = new PackageSourceMappingSourceItem("name2", new List <PackagePatternItem>()
            {
                new PackagePatternItem("stuff"), new PackagePatternItem("stuff2")
            });
            var right = new PackageSourceMappingSourceItem("name", new List <PackagePatternItem>()
            {
                new PackagePatternItem("stuff"), new PackagePatternItem("stuff2")
            });

            left.GetHashCode().Equals(right.GetHashCode()).Should().BeFalse();
        }
        public void HashCode_WithDifferentlyCasedName_ReturnsTrue()
        {
            var left = new PackageSourceMappingSourceItem("NAME", new List <PackagePatternItem>()
            {
                new PackagePatternItem("stuff")
            });
            var right = new PackageSourceMappingSourceItem("name", new List <PackagePatternItem>()
            {
                new PackagePatternItem("stuff")
            });

            left.GetHashCode().Equals(right.GetHashCode()).Should().BeTrue();
        }
        public void Clone_CreatesEquivalentPackagePatterns()
        {
            var original = new PackageSourceMappingSourceItem("name", new List <PackagePatternItem>()
            {
                new PackagePatternItem("stuff"), new PackagePatternItem("stuff2")
            });
            var clone = original.Clone() as PackageSourceMappingSourceItem;

            original.Equals(clone).Should().BeTrue();
            original.GetHashCode().Equals(clone.GetHashCode()).Should().BeTrue();
            SettingsTestUtils.DeepEquals(original, clone).Should().BeTrue();
            ReferenceEquals(original, clone).Should().BeFalse();
            original.Key.Equals(clone.Key);
        }
Пример #7
0
        public void AddOrUpdatePackageSourceMapping_WithAClearItem_WithANewPattern_AddInFurthestMatchingConfig()
        {
            // Arrange
            using var mockBaseDirectory = TestDirectory.Create();
            var configPath1 = Path.Combine(mockBaseDirectory, "NuGet.Config");

            SettingsTestUtils.CreateConfigurationFile(configPath1, @"<?xml version=""1.0"" encoding=""utf-8""?>
<configuration>
    <packageSourceMapping>
        <clear />
        <packageSource key=""nuget.org"">
            <package pattern=""stuff"" />
        </packageSource>
    </packageSourceMapping>
</configuration>");
            var configPath2 = Path.Combine(mockBaseDirectory, "NuGet.Config.2");

            SettingsTestUtils.CreateConfigurationFile(configPath2, @"<?xml version=""1.0"" encoding=""utf-8""?>
<configuration>
    <packageSourceMapping>
        <packageSource key=""contoso"">
            <package pattern=""stuff2"" />
        </packageSource>
    </packageSourceMapping>
</configuration>");
            var settings = Settings.LoadSettingsGivenConfigPaths(new string[] { configPath1, configPath2 });

            // Act & Assert
            var sourceMappingProvider = new PackageSourceMappingProvider(settings);
            var patternToAdd          = new PackageSourceMappingSourceItem("localSource", new PackagePatternItem[] { new PackagePatternItem("added") });

            sourceMappingProvider.AddOrUpdatePackageSourceMappingSourceItem(patternToAdd);

            var result = @"<?xml version=""1.0"" encoding=""utf-8""?>
<configuration>
    <packageSourceMapping>
        <clear />
        <packageSource key=""nuget.org"">
            <package pattern=""stuff"" />
        </packageSource>
        <packageSource key=""localSource"">
            <package pattern=""added"" />
        </packageSource>
    </packageSourceMapping>
</configuration>";

            result.Replace("\r\n", "\n")
            .Should().BeEquivalentTo(
                File.ReadAllText(configPath1).Replace("\r\n", "\n"));
        }