EnumComparer
Comparator for two Enums.
using System;
using System.Runtime.CompilerServices;
namespace NUnit.Framework.Constraints.Comparers
{
internal static class EnumComparer
{
[System.Runtime.CompilerServices.NullableContext(1)]
public static EqualMethodResult Equal(object x, object y, ref Tolerance tolerance, ComparisonState state, NUnitEqualityComparer equalityComparer)
{
Enum enum = x as Enum;
if (enum != null) {
Enum enum2 = y as Enum;
if (enum2 != null) {
if (tolerance.HasVariance)
return EqualMethodResult.ToleranceNotSupported;
if (!enum.Equals(enum2))
return EqualMethodResult.ComparedNotEqual;
return EqualMethodResult.ComparedEqual;
}
}
return EqualMethodResult.TypesNotSupported;
}
}
}