public void ShouldSuspend_WhenFirstAttemptEqualOrGreaterThanConnectionStateTtl_ShouldReturnTrue() { Func <DateTimeOffset> now = () => DateTimeOffset.UtcNow; // We want access to the modified closure so we can manipulate time within ConnectionAttemptsInfo // ReSharper disable once AccessToModifiedClosure DateTimeOffset NowWrapperFn() => now(); var connection = new Connection(GetRealtime(), NowWrapperFn); var info = new ConnectionAttemptsInfo(connection); //_info.Reset(); info.Attempts.Add(new ConnectionAttempt(NowWrapperFn())); //Move now to default ConnetionStatettl - 1 second now = () => DateTimeOffset.UtcNow.Add(Defaults.ConnectionStateTtl); info.ShouldSuspend().Should().BeTrue("When time is equal"); // = now = () => DateTimeOffset.UtcNow.Add(Defaults.ConnectionStateTtl).AddSeconds(60); info.ShouldSuspend().Should().BeTrue("When time is greater than"); // > }
public ConnectionAttemptsInfoSpecs(ITestOutputHelper output) : base(output) { _connection = new Connection(GetRealtime(), TestHelpers.NowFunc()); _info = new ConnectionAttemptsInfo(_connection); }
public RealtimeState(List <string> fallbackHosts, Func <DateTimeOffset> now = null) { Connection = new ConnectionData(fallbackHosts); AttemptsInfo = new ConnectionAttemptsInfo(now); PendingMessages = new List <MessageAndCallback>(); }