TimeSpan.Epsilon最小时差

时间:2019-05-20 12:04:12

标签: c#

对于我的单元测试,我想使用类似的东西:

DateTime myDate = DateTime.Parse("02.03.2001 12:56");
Assert.Equal(value1, myValues.ValueAt(myDate - TimeSpan.FromTicks(1)));
Assert.Equal(value2, myValues.ValueAt(myDate));
Assert.Equal(value2, myValues.ValueAt(myDate + TimeSpan.FromTicks(1)));

由于TimeSpan类中没有这种方法,所以我想知道是否有更优雅的方法来解决我的问题?

1 个答案:

答案 0 :(得分:0)

我通过创建此静态类解决了该问题:

public static class TimeSpanExtension
{
    public static TimeSpan Epsilon
    {
        get
        {
            {
                return TimeSpan.FromTicks(1);
            }
        }
    }
}

但是我对结果并不满意:

DateTime myDate = DateTime.Parse("02.03.2001 12:56");
Assert.Equal(value1, myValues.ValueAt(myDate - TimeSpanExtension.Epsilon));
Assert.Equal(value2, myValues.ValueAt(myDate));
Assert.Equal(value2, myValues.ValueAt(myDate + TimeSpanExtension.Epsilon));