Skip to content

Commit f196e79

Browse files
authored
Add convenience methods for Duration (#571)
* dur * tests ---------
1 parent 13c005a commit f196e79

File tree

2 files changed

+45
-2
lines changed

2 files changed

+45
-2
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System;
2+
using FluentAssertions;
3+
using Xunit;
4+
5+
namespace BitFaster.Caching.UnitTests
6+
{
7+
public class DurationTests
8+
{
9+
[Fact]
10+
public void RoundTripHours()
11+
{
12+
var d = Duration.FromHours(2);
13+
d.ToTimeSpan().Should().BeCloseTo(TimeSpan.FromHours(2), TimeSpan.FromMilliseconds(100));
14+
}
15+
16+
[Fact]
17+
public void RoundTripDays()
18+
{
19+
var d = Duration.FromDays(2);
20+
d.ToTimeSpan().Should().BeCloseTo(TimeSpan.FromDays(2), TimeSpan.FromMilliseconds(100));
21+
}
22+
}
23+
}

BitFaster.Caching/Duration.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,15 +94,35 @@ public static Duration FromSeconds(double value)
9494
}
9595

9696
/// <summary>
97-
/// Returns a Duration that represents a specified number of milliseconds.
97+
/// Returns a Duration that represents a specified number of minutes.
9898
/// </summary>
99-
/// <param name="value">A number of milliseconds</param>
99+
/// <param name="value">A number of minutes</param>
100100
/// <returns></returns>
101101
public static Duration FromMinutes(double value)
102102
{
103103
return FromTimeSpan(TimeSpan.FromMinutes(value));
104104
}
105105

106+
/// <summary>
107+
/// Returns a Duration that represents a specified number of hours.
108+
/// </summary>
109+
/// <param name="value">A number of hours</param>
110+
/// <returns></returns>
111+
public static Duration FromHours(double value)
112+
{
113+
return FromTimeSpan(TimeSpan.FromHours(value));
114+
}
115+
116+
/// <summary>
117+
/// Returns a Duration that represents a specified number of days.
118+
/// </summary>
119+
/// <param name="value">A number of days</param>
120+
/// <returns></returns>
121+
public static Duration FromDays(double value)
122+
{
123+
return FromTimeSpan(TimeSpan.FromDays(value));
124+
}
125+
106126
/// <summary>
107127
/// Adds two specified Duration instances.
108128
/// </summary>

0 commit comments

Comments
 (0)