Exemplo n.º 1
0
 /// <summary>
 /// If <paramref name="duration"/> is finite it is returned after it has been scaled using <see cref="Dilated(TimeSpan)"/>.
 /// If <paramref name="duration"/> is undefined, it returns the remaining time (if within a `within` block) or the properly dilated 
 /// default from settings (key "akka.test.single-expect-default").
 /// If <paramref name="duration"/> is infinite, an <see cref="ArgumentException"/> is thrown.
 /// <remarks>The returned value is always finite.</remarks>
 /// </summary>
 /// <param name="duration">The maximum.</param>
 /// <returns>A finite <see cref="TimeSpan"/> properly dilated</returns>
 /// <exception cref="System.ArgumentException">Thrown if <paramref name="duration"/> is infinite</exception>
 public TimeSpan RemainingOrDilated(TimeSpan? duration)
 {
     if(!duration.HasValue) return RemainingOrDefault;
     if(duration.IsInfinite()) throw new ArgumentException("max duration cannot be infinite");
     return Dilated(duration.Value);
 }
Exemplo n.º 2
0
 /// <summary>
 /// Returns the smallest value.
 /// <remarks>Note! Part of internal API. Breaking changes may occur without notice. Use at own risk.</remarks>
 /// </summary>
 public static TimeSpan Min(this TimeSpan a, TimeSpan b)
 {
     if(b.IsInfinite()) return a;
     if(a.IsInfinite()) return b;
     return a < b ? a : b;
 }