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

DateTimeOffsetsComparer

Comparator for two DateTimeOffsets.
using System; namespace NUnit.Framework.Constraints.Comparers { internal sealed class DateTimeOffsetsComparer : IChainComparer { private readonly NUnitEqualityComparer _equalityComparer; internal DateTimeOffsetsComparer(NUnitEqualityComparer equalityComparer) { _equalityComparer = equalityComparer; } public bool? Equal(object x, object y, ref Tolerance tolerance, bool topLevelComparison = true) { if (!(x is DateTimeOffset) || !(y is DateTimeOffset)) return null; DateTimeOffset left = (DateTimeOffset)x; DateTimeOffset right = (DateTimeOffset)y; bool flag; if (tolerance != null && tolerance.Amount is TimeSpan) { TimeSpan t = (TimeSpan)tolerance.Amount; flag = ((left - right).Duration() <= t); } else flag = (left == right); if (flag && _equalityComparer.WithSameOffset) flag = (left.Offset == right.Offset); return flag; } } }