public IEnumerator TimeoutReuse() => UniTask.ToCoroutine(async() => { var controller = new TimeoutController(DelayType.DeltaTime); var token = controller.Timeout(TimeSpan.FromSeconds(2)); var complete = new UniTaskCompletionSource(); token.RegisterWithoutCaptureExecutionContext(() => { complete.TrySetResult(); // reuse, used same token? }); await UniTask.Delay(TimeSpan.FromMilliseconds(100)); controller.Reset(); controller.IsTimeout().Should().BeFalse(); var sw = Stopwatch.StartNew(); controller.Timeout(TimeSpan.FromSeconds(5)); await complete.Task; UnityEngine.Debug.Log(UnityEngine.Time.timeScale); Between(TimeSpan.FromSeconds(4.9), sw.Elapsed, TimeSpan.FromSeconds(5.1)); controller.IsTimeout().Should().BeTrue(); });
public override void Given() { _resultsAndCertificationConfiguration = new ResultsAndCertificationConfiguration { DfeSignInSettings = new DfeSignInSettings { Timeout = 2 } }; _timeoutController = new TimeoutController(_resultsAndCertificationConfiguration, CacheService); var httpContext = new ClaimsIdentityBuilder <TimeoutController>(_timeoutController) .Add(CustomClaimTypes.UserId, Guid.NewGuid().ToString()) .Build() .HttpContext; HttpContextAccessor.HttpContext.Returns(httpContext); CacheKey = CacheKeyHelper.GetCacheKey(HttpContextAccessor.HttpContext.User.GetUserId(), CacheConstants.UserSessionActivityCacheKey); var routeData = new RouteData(); routeData.Values.Add("controller", "Timeout"); routeData.Values.Add("action", nameof(TimeoutController.GetActiveDurationAsync)); var controllerActionDescriptor = new ControllerActionDescriptor { ControllerName = "Timeout", ActionName = nameof(TimeoutController.GetActiveDurationAsync) }; var actionContext = new ActionContext(HttpContextAccessor.HttpContext, routeData, controllerActionDescriptor); _actionExecutingContext = new ActionExecutingContext(actionContext, new List <IFilterMetadata>(), new Dictionary <string, object>(), _timeoutController); }
private void InitializeControllerInstances() { this.ScoreController = ScoreboardBLL.ScoreController.GetScoreController(); this.FoulController = ScoreboardBLL.FoulController.GetFoulController(); this.ClockController = ScoreboardBLL.ClockController.GetClockController(); this.PeriodController = ScoreboardBLL.PeriodController.GetPeriodController(); this.PossessionController = ScoreboardBLL.PossessionController.GetPossessionController(); this.TimeoutController = ScoreboardBLL.TimeoutController.GetTimeoutController(); }
public IEnumerator LinkedTokenTest() => UniTask.ToCoroutine(async() => { var cts = new CancellationTokenSource(); var controller = new TimeoutController(cts); var token = controller.Timeout(TimeSpan.FromSeconds(2)); await UniTask.DelayFrame(3); cts.Cancel(); token.IsCancellationRequested.Should().BeTrue(); controller.Dispose(); });
public IEnumerator TimeoutController() => UniTask.ToCoroutine(async() => { var controller = new TimeoutController(); var token = controller.Timeout(TimeSpan.FromSeconds(1)); var complete = new UniTaskCompletionSource(); token.RegisterWithoutCaptureExecutionContext(() => { complete.TrySetResult(); }); var sw = Stopwatch.StartNew(); await complete.Task; Between(TimeSpan.FromSeconds(0.9), sw.Elapsed, TimeSpan.FromSeconds(1.1)); controller.IsTimeout().Should().BeTrue(); });
public void TestInitialize() { timeoutController = TimeoutController.GetTimeoutController(); methodWasCalled = false; }