CharsComparer
Comparator for two Chars.
namespace NUnit.Framework.Constraints.Comparers
{
internal class CharsComparer : IChainComparer
{
private readonly NUnitEqualityComparer _equalityComparer;
internal CharsComparer(NUnitEqualityComparer equalityComparer)
{
_equalityComparer = equalityComparer;
}
public bool? Equal(object x, object y, ref Tolerance tolerance, bool topLevelComparison = true)
{
if (!(x is char) || !(y is char))
return null;
char c = (char)x;
char c2 = (char)y;
bool ignoreCase = _equalityComparer.IgnoreCase;
char c3 = ignoreCase ? char.ToLower(c) : c;
char c4 = ignoreCase ? char.ToLower(c2) : c2;
return c3 == c4;
}
}
}