Exemplo n.º 1
0
        public async Task DebounceJobAlreadyFinishedTest()
        {
            IJobScheduler scheduler      = new JobScheduler(_builder);
            var           list           = new List <string>();
            var           job            = new DebounceJob(list, "Multiple");
            var           jobRunnerFirst = scheduler.ScheduleJobInternal(new JobScheduler.JobContainer(job));
            await jobRunnerFirst.WaitForJob();

            var jobRunnerSecond = scheduler.ScheduleJobInternal(new JobScheduler.JobContainer(job));
            await jobRunnerSecond.WaitForJob();

            list.Should().OnlyContain(s => s == job.Key).And.HaveCount(2);
        }
Exemplo n.º 2
0
        public async Task DebounceJobTest()
        {
            IJobScheduler scheduler      = new JobScheduler(_builder);
            var           list           = new List <string>();
            var           job            = new DebounceJob(list, "Single");
            var           jobRunnerFirst = scheduler.ScheduleJobInternal(new JobScheduler.JobContainer(job));
            await TaskUtils.WaitForDelayOrCancellation(TimeSpan.FromMilliseconds(10), CancellationToken.None);

            var jobRunnerSecond = scheduler.ScheduleJobInternal(new JobScheduler.JobContainer(job));
            await jobRunnerFirst.WaitForJob();

            await jobRunnerSecond.WaitForJob();

            list.Should().ContainSingle(job.Key);
        }