public void AlwaysPurgesFirstTime() { int purgeCount = 0; var purger = new RateLimitedPurger(new DummyPurger(() => { purgeCount++; }), 1000); purger.Purge(); Assert.That(purgeCount, Is.EqualTo(1)); }
public void RateOfZeroAlwaysPurges() { int purgeCount = 0; var purger = new RateLimitedPurger(new DummyPurger(() => { purgeCount++; }), 0); purger.Purge(); purger.Purge(); Assert.That(purgeCount, Is.EqualTo(2)); }
public void WaitsToPurge() { int purgeCount = 0; var purger = new RateLimitedPurger(new DummyPurger(() => { purgeCount++; }), 1000); purger.Purge(); Assert.That(purgeCount, Is.EqualTo(1)); purger.Purge(); Assert.That(purgeCount, Is.EqualTo(1)); Thread.Sleep(1500); purger.Purge(); Assert.That(purgeCount, Is.EqualTo(2)); }
public void DefaultMaxPurgeRate() { var purger = new RateLimitedPurger(new DummyPurger(() => { })); Assert.That(purger.MaxPurgeRate, Is.EqualTo(120 * 1000)); }