public static void Compare(DateTimeOffset dateTimeOffset1, DateTimeOffset dateTimeOffset2, int expected)
{
Assert.Equal(expected, Math.Sign(dateTimeOffset1.CompareTo(dateTimeOffset2)));
Assert.Equal(expected, Math.Sign(DateTimeOffset.Compare(dateTimeOffset1, dateTimeOffset2)));
IComparable comparable = dateTimeOffset1;
Assert.Equal(expected, Math.Sign(comparable.CompareTo(dateTimeOffset2)));
if (expected > 0)
{
Assert.True(dateTimeOffset1 > dateTimeOffset2);
Assert.Equal(expected >= 0, dateTimeOffset1 >= dateTimeOffset2);
Assert.False(dateTimeOffset1 < dateTimeOffset2);
Assert.Equal(expected == 0, dateTimeOffset1 <= dateTimeOffset2);
}
else if (expected < 0)
{
Assert.False(dateTimeOffset1 > dateTimeOffset2);
Assert.Equal(expected == 0, dateTimeOffset1 >= dateTimeOffset2);
Assert.True(dateTimeOffset1 < dateTimeOffset2);
Assert.Equal(expected <= 0, dateTimeOffset1 <= dateTimeOffset2);
}
else if (expected == 0)
{
Assert.False(dateTimeOffset1 > dateTimeOffset2);
Assert.True(dateTimeOffset1 >= dateTimeOffset2);
Assert.False(dateTimeOffset1 < dateTimeOffset2);
Assert.True(dateTimeOffset1 <= dateTimeOffset2);
}
}