public void Satisfies_Test(string version, string vToCheck, bool expectedResult)
        {
            var range        = VersionExtensions.GetVersionRangeFromDependency(version);
            var checkVersion = NuGet.Versioning.NuGetVersion.Parse(vToCheck);

            var result = new VersionRangeExtended(range).Satisfies(checkVersion);

            Assert.Equal(expectedResult, result);
        }
        public void IsBetter_Test(string rangeString, string currentString, string consideringString, bool expectedResult)
        {
            var range       = VersionExtensions.GetVersionRangeFromDependency(rangeString);
            var current     = NuGet.Versioning.NuGetVersion.Parse(currentString);
            var considering = NuGet.Versioning.NuGetVersion.Parse(consideringString);

            var result = new VersionRangeExtended(range).IsBetter(current, considering);

            Assert.Equal(expectedResult, result);
        }
Beispiel #3
0
        public void GetVersionRangeFromDependency(string version, string expectedMinVersion, string expectedMaxVersion)
        {
            var expectedMin = expectedMinVersion == null ? null : new NuGet.Versioning.NuGetVersion(expectedMinVersion);
            var expectedMax = expectedMaxVersion == null ? null : new NuGet.Versioning.NuGetVersion(expectedMaxVersion);

            NuGet.Versioning.VersionRange range;
            try
            {
                range = VersionExtensions.GetVersionRangeFromDependency(version);
            }
            catch
            {
                Assert.Null(expectedMin);
                Assert.Null(expectedMax);

                return;
            }

            Assert.Equal(expectedMin, range.MinVersion);
            Assert.Equal(expectedMax, range.MaxVersion);
        }
        [InlineData("1.1.1-beta1", "1.1.1", null)] // Not supported
        public void Satisfies_WithExtraLabel_Test(string version, string vToCheck, bool?expectedResult)
        {
            var range        = VersionExtensions.GetVersionRangeFromDependency(version);
            var checkVersion = NuGet.Versioning.NuGetVersion.Parse(vToCheck);

            bool?result = null;

            try
            {
                result = new VersionRangeExtended(range)
                {
                    ReleaseLabel = "ABC"
                }.Satisfies(checkVersion);
            }
            catch
            {
                Assert.Null(expectedResult);
            }

            Assert.Equal(expectedResult, result);
        }
Beispiel #5
0
        private static void RegisterMappings()
        {
            // Packages

            TypeAdapterConfig <PackageSpec, XmlPackageSpec> .NewConfig()
            .Map(dst => dst.Platform, src => src.Framework.GetShortFolderName());

            TypeAdapterConfig <XmlPackageSpec, PackageSpec> .NewConfig()
            .Map(dst => dst.Framework, src => PackageExtensions.GetFramework(src.Platform));

            TypeAdapterConfig <PackageManifestRoot, XmlPackageManifestRoot> .NewConfig()
            .Map(dst => dst.Platform, src => src.Framework.GetShortFolderName());

            TypeAdapterConfig <XmlPackageManifestRoot, PackageManifestRoot> .NewConfig()
            .Map(dst => dst.Framework, src => PackageExtensions.GetFramework(src.Platform));

            TypeAdapterConfig <PackageManifest, XmlPackageManifest> .NewConfig()
            .Include <PackageSpec, XmlPackageSpec>()
            .Include <PackageManifestRoot, XmlPackageManifestRoot>()
            .Map(dst => dst.Version, src => src.Version.ToString())
            .Map(dst => dst.Platform, src => src.LegacyFramework);

            TypeAdapterConfig <XmlPackageManifest, PackageManifest> .NewConfig()
            .Include <XmlPackageSpec, PackageSpec>()
            .Include <XmlPackageManifestRoot, PackageManifestRoot>()
            .Map(dst => dst.Version, src => NuGet.Versioning.NuGetVersion.Parse(src.Version))
            .Map(dst => dst.LegacyFramework, src => src.Platform);

            TypeAdapterConfig <XmlPackageLegacyCrap, XmlPackageManifestRoot> .NewConfig();

            TypeAdapterConfig <XmlPackageLegacyCrap, XmlPackageSpec> .NewConfig();


            TypeAdapterConfig <PackageDependency, XmlPackageDependency> .NewConfig()
            .Map(dst => dst.VersionPattern, src => src.AllowedVersions.OriginalString)
            .Map(dst => dst.Platform, src => src.Framework);

            TypeAdapterConfig <XmlPackageDependency, PackageDependency> .NewConfig()
            .ConstructUsing(xml => new PackageDependency(xml.PackageId, VersionExtensions.GetVersionRangeFromDependency(xml.VersionPattern)))
            .Ignore(dst => dst.PackageId, src => src.AllowedVersions)
            .Map(dst => dst.Framework, src => src.Platform)
            .AfterMapping((src, dst) =>
            {
                if (src.DevTimeOnly)
                {
                    if (src.Scope == XmlDependencyScope.Normal)
                    {
                        dst.Scope = DependencyScope.Build;
                    }
                }
                else
                {
                    if (src.Scope != XmlDependencyScope.Normal)
                    {
                        dst.Scope = DependencyScope.Normal;
                    }
                }
            });

            TypeAdapterConfig <SourceFiles, XmlSourceFiles> .NewConfig();

            TypeAdapterConfig <XmlSourceFiles, SourceFiles> .NewConfig();

            TypeAdapterConfig <XmlRegisteredRepositories, RegisteredRepositories> .NewConfig();

            TypeAdapterConfig <XmlRegisteredRepository, RegisteredRepository> .NewConfig();

            TypeAdapterConfig <XmlRepositoryType, RepositoryType> .NewConfig();


            // PackagesManager
            TypeAdapterConfig <XmlInstalledPackagesIndex, InstalledPackagesIndex> .NewConfig()
            .ConstructUsing(src => new InstalledPackagesIndex(MapContext.Current.Parameters["location"].ToString()));

            TypeAdapterConfig <InstalledPackagesIndex, XmlInstalledPackagesIndex> .NewConfig();

            TypeAdapterConfig <XmlPackageKey, PackageKey> .NewConfig()
            .ConstructUsing(src => new PackageKey(src.PackageId, NuGet.Versioning.NuGetVersion.Parse(src.Version), src.Framework));

            TypeAdapterConfig <PackageKey, XmlPackageKey> .NewConfig()
            .Map(dst => dst.Version, src => src.Version.OriginalVersion);
        }