Skip to content

Commit 81071e4

Browse files
committed
Fix epsilon in duration tests
1 parent bbda725 commit 81071e4

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

BitFaster.Caching.UnitTests/DurationTests.cs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ namespace BitFaster.Caching.UnitTests
1010
{
1111
public class DurationTests
1212
{
13-
public static readonly ulong epsilon = (ulong)Duration.FromMilliseconds(20).raw;
14-
1513
private readonly ITestOutputHelper testOutputHelper;
1614

1715
public DurationTests(ITestOutputHelper testOutputHelper)
@@ -22,25 +20,26 @@ public DurationTests(ITestOutputHelper testOutputHelper)
2220
[Fact]
2321
public void SinceEpoch()
2422
{
23+
// epsilon is 1/200 of a second
24+
long epsilon = Stopwatch.Frequency / 200;
25+
2526
#if NETCOREAPP3_0_OR_GREATER
2627
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
2728
{
28-
Duration.SinceEpoch().raw.ShouldBe(Stopwatch.GetTimestamp());
29+
TimeSpan.FromTicks(Duration.SinceEpoch().raw).ShouldBe(TimeSpan.FromTicks(Stopwatch.GetTimestamp()), TimeSpan.FromTicks(epsilon));
2930
}
3031
else
3132
{
32-
Duration.SinceEpoch().raw.ShouldBe(Environment.TickCount64);
33+
TimeSpan.FromTicks(Duration.SinceEpoch().raw).ShouldBe(TimeSpan.FromTicks(Environment.TickCount64), TimeSpan.FromTicks(epsilon));
3334
}
3435
#else
3536
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
3637
{
37-
Duration.SinceEpoch().raw.ShouldBe(Duration.GetTickCount64());
38+
TimeSpan.FromTicks(Duration.SinceEpoch().raw).ShouldBe(TimeSpan.FromTicks(Duration.GetTickCount64()), TimeSpan.FromTicks(epsilon));
3839
}
3940
else
4041
{
41-
// eps is 1/200 of a second
42-
ulong eps = (ulong)(Stopwatch.Frequency / 200);
43-
Duration.SinceEpoch().raw.ShouldBe(Stopwatch.GetTimestamp());
42+
TimeSpan.FromTicks(Duration.SinceEpoch().raw).ShouldBe(TimeSpan.FromTicks(Stopwatch.GetTimestamp()), TimeSpan.FromTicks(epsilon));
4443
}
4544
#endif
4645
}

0 commit comments

Comments
 (0)