<PackageReference Include="NUnit" Version="4.1.0" />

DateTimeOffsetsComparer

Comparator for two DateTimeOffsets.
using System; using System.Runtime.CompilerServices; namespace NUnit.Framework.Constraints.Comparers { internal static class DateTimeOffsetsComparer { [System.Runtime.CompilerServices.NullableContext(1)] public static EqualMethodResult Equal(object x, object y, ref Tolerance tolerance, ComparisonState state, NUnitEqualityComparer equalityComparer) { if (x is DateTimeOffset) { DateTimeOffset left = (DateTimeOffset)x; if (y is DateTimeOffset) { DateTimeOffset right = (DateTimeOffset)y; object obj = tolerance?.Amount; bool flag; if (obj is TimeSpan) { TimeSpan t = (TimeSpan)obj; flag = ((left - right).Duration() <= t); } else flag = (left == right); if (flag && equalityComparer.WithSameOffset) flag = (left.Offset == right.Offset); if (!flag) return EqualMethodResult.ComparedNotEqual; return EqualMethodResult.ComparedEqual; } } return EqualMethodResult.TypesNotSupported; } } }