StringsComparer
Comparator for two Strings.
using System;
using System.Runtime.CompilerServices;
namespace NUnit.Framework.Constraints.Comparers
{
internal static class StringsComparer
{
[System.Runtime.CompilerServices.NullableContext(1)]
public static EqualMethodResult Equal(object x, object y, ref Tolerance tolerance, ComparisonState state, NUnitEqualityComparer equalityComparer)
{
string text = x as string;
if (text != null) {
string text2 = y as string;
if (text2 != null) {
if (tolerance.HasVariance)
return EqualMethodResult.ToleranceNotSupported;
StringComparison comparisonType = equalityComparer.IgnoreCase ? StringComparison.CurrentCultureIgnoreCase : StringComparison.Ordinal;
if (!text.Equals(text2, comparisonType))
return EqualMethodResult.ComparedNotEqual;
return EqualMethodResult.ComparedEqual;
}
}
return EqualMethodResult.TypesNotSupported;
}
}
}