예제 #1
0
        public void NoOptionsSet()
        {
            var options = new PollJobOptions();

            options.Validate();
            Assert.Null(options.GetEffectiveDeadline());
        }
예제 #2
0
        public void DeadlineAndTimeout()
        {
            var options = new PollJobOptions
            {
                Deadline = DateTimeOffset.UtcNow,
                Timeout  = TimeSpan.FromDays(1)
            };

            Assert.Throws <ArgumentException>(() => options.Validate());
        }
예제 #3
0
        public void Deadline()
        {
            var deadline = new DateTimeOffset(2016, 6, 19, 2, 3, 4, TimeSpan.FromHours(1));
            var options  = new PollJobOptions {
                Deadline = deadline
            };

            options.Validate();
            Assert.Equal(deadline, options.GetEffectiveDeadline());
        }
예제 #4
0
        public void Timeout()
        {
            var timeout = TimeSpan.FromDays(2);
            var options = new PollJobOptions {
                Timeout = timeout
            };
            var now = DateTime.UtcNow;
            var effectiveDeadline = options.GetEffectiveDeadline();
            var tolerance         = TimeSpan.FromSeconds(1);

            Assert.InRange(effectiveDeadline.Value, now + timeout - tolerance, now + timeout + tolerance);
        }