Ejemplo n.º 1
0
        public void Utc_diff()
        {
            var time = DateTime.Now;
            var diff = time - time.ToUniversalTime();

            SystemUtil.SetTime(DateTime.Now);

            Assert.AreEqual(diff, SystemUtil.Now - SystemUtil.UtcNow);
        }
Ejemplo n.º 2
0
        public void CircuitBreaker()
        {
            var policy = ActionPolicy
                         .Handle <TimeoutException>()
                         .CircuitBreaker(1.Minutes(), 2);


            var time = new DateTime(2008, 1, 1);

            SystemUtil.SetTime(time);

            // non-handled
            policy.Do(Nothing);
            Expect <ArgumentException>(() => policy.Do(RaiseArgument));

            // handled below

            // Raise
            Expect <TimeoutException>(() => policy.Do(RaiseTimeout));
            Expect <TimeoutException>(() => policy.Do(RaiseTimeout));
            // Trigger
            Expect <TimeoutException>(() => policy.Do(RaiseArgument));
            Expect <TimeoutException>(() => policy.Do(Nothing));

            // Elapse and pass
            SystemUtil.SetTime(time.AddMinutes(1));
            policy.Do(Nothing);

            // Raise
            Expect <TimeoutException>(() => policy.Do(RaiseTimeout));
            Expect <TimeoutException>(() => policy.Do(RaiseTimeout));

            // Elapse and rearm
            SystemUtil.SetTime(time.AddMinutes(1));
            Expect <TimeoutException>(() => policy.Do(RaiseTimeout));

            // Non-elapse and trigger
            SystemUtil.SetTime(time.AddSeconds(119));
            Expect <TimeoutException>(() => policy.Do(Nothing));

            // Elapse and pass
            SystemUtil.SetTime(time.AddMinutes(2));
            policy.Do(Nothing);
        }