Aspectacular.Test.CoreTests.PollAdapterTest.TestSmartPollingBlocking C# (CSharp) Méthode

TestSmartPollingBlocking() private méthode

private TestSmartPollingBlocking ( ) : void
Résultat void
        public void TestSmartPollingBlocking()
        {
            DateTimeOffset threeSecondDelay = DateTimeOffset.Now.AddSeconds(3);

            const int maxDelayMillisec = 500;
            var pollmeister = new BlockingObjectPoll<object>(() => PollCurrentTime(threeSecondDelay), maxDelayMillisec);
            object result = pollmeister.WaitForPayload();
            this.TestContext.WriteLine("Empty poll calls: {0:#,#0}", pollmeister.EmptyPollCallCount);

            Assert.IsNotNull(result);
            int discrepMillisecBetweenHopedAndActual = ((DateTimeOffset)result - threeSecondDelay).Milliseconds;
            Assert.IsTrue(discrepMillisecBetweenHopedAndActual <= maxDelayMillisec);
            Assert.IsTrue(pollmeister.EmptyPollCallCount <= 12);
            Assert.IsTrue(pollmeister.PollCallCountWithPayload == 1);
        }