public void Message()
            {
                var deprecation = new PackageDeprecationItem(new[] { "c" }, "mmm", null, null);

                var metadata = new PackageRegistrationDeprecationMetadata(deprecation);

                Assert.Equal(deprecation.Reasons, metadata.Reasons);
                Assert.Equal(deprecation.Message, metadata.Message);
                Assert.Null(metadata.AlternatePackage);
            }
 /// <summary>
 /// Converts a <see cref="FeedPackageDetails"/> into a format that can be directly compared to a <see cref="PackageRegistrationIndexMetadata"/>.
 /// </summary>
 public PackageRegistrationIndexMetadata(FeedPackageDetails package)
     : base(package)
 {
     Id      = package.PackageId;
     Version = NuGetVersion.Parse(package.PackageNormalizedVersion);
     RequireLicenseAcceptance = package.RequiresLicenseAcceptance;
     if (package.HasDeprecationInfo)
     {
         Deprecation = new PackageRegistrationDeprecationMetadata(package.DeprecationInfo);
     }
 }
            public void AlternatePackage()
            {
                var deprecation = new PackageDeprecationItem(new[] { "d" }, null, "abc", "cba");

                var metadata = new PackageRegistrationDeprecationMetadata(deprecation);

                Assert.Equal(deprecation.Reasons, metadata.Reasons);
                Assert.Null(metadata.Message);
                Assert.NotNull(metadata.AlternatePackage);
                Assert.Equal(deprecation.AlternatePackageId, metadata.AlternatePackage.Id);
                Assert.Equal(deprecation.AlternatePackageRange, metadata.AlternatePackage.Range);
            }