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); } }