public void DefaultAlwaysAccepts() { var e = new EventRateLimiter(); var t = DateTime.Parse("2012-09-21 14:00"); AddSomeRequests(t, e); Assert.IsTrue(e.Request(t.AddMilliseconds(900))); }
public void Accepts100PerSecond() { var e = new EventRateLimiter(100); var t = DateTime.Parse("2012-09-21 14:00"); var p = 0; for (int i = 0; i < 10000; i++) if (e.Request(t + TimeSpan.FromTicks(i))) p++; Assert.AreEqual(100, p); t = DateTime.Parse("2012-09-21 14:00:01"); p = 0; for (int i = 0; i < 10000; i++) if (e.Request(t + TimeSpan.FromTicks(i))) p++; Assert.AreEqual(100, p); }
private static void AddSomeRequests(DateTime t, EventRateLimiter e) { for (int i = 0; i < 10; i++) e.Request(t.AddMilliseconds(i * 10)); }