using System;
using System.Collections.Generic;
namespace NugetForUnity.Models
{
///
/// Equality comparer implementation that only compares the of the packages.
///
public sealed class NugetPackageIdEqualityComparer : IEqualityComparer, IEqualityComparer
{
///
public bool Equals(INugetPackageIdentifier x, INugetPackageIdentifier y)
{
if (ReferenceEquals(x, y))
{
return true;
}
if (x is null || y is null)
{
return false;
}
return string.Equals(x.Id, y.Id, StringComparison.OrdinalIgnoreCase);
}
///
public bool Equals(INugetPackage x, INugetPackage y)
{
return Equals((INugetPackageIdentifier)x, y);
}
///
public int GetHashCode(INugetPackageIdentifier obj)
{
return StringComparer.OrdinalIgnoreCase.GetHashCode(obj.Id);
}
///
public int GetHashCode(INugetPackage obj)
{
return GetHashCode((INugetPackageIdentifier)obj);
}
}
}