Exemple #1
0
        public void RefillWithoutResetTest()
        {
            _refillStrategy.Refill();

            for (var i = 0; i < _refillPeriod.TotalSeconds - 1; i++)
            {
                _dateTime.AdvanceSeconds(1);
                Assert.AreEqual(0, _refillStrategy.Refill());
            }
        }
        public void ConsumeWithTimeAspect()
        {
            for (var second = 1; second <= 20; second++)
            {
                var consumed = _tokenBucket.TryConsume(1);

                switch (second)
                {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 11:
                case 12:
                case 13:
                case 14:
                case 15:
                    Assert.IsTrue(consumed);
                    break;

                case 6:
                case 7:
                case 8:
                case 9:
                case 10:
                case 16:
                case 17:
                case 18:
                case 19:
                case 20:
                    Assert.IsFalse(consumed);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                _dateTime.AdvanceSeconds(1);
            }
        }