quota 0.1.2

High-performance Rate-limiter
Documentation
use super::QuotaPolicy;
use super::RefillRate;
use super::Quota;
#[test]
fn policy_refilling_quota_on_tick_works() {
    let policy = QuotaPolicy::new()
        .set_capacity(10.0)
        .set_refill_rate(RefillRate::per_micro(100.0));

    let mut quota = Quota::with_initial_tokens(10);

    let mut results = vec![];
    for _ in 0..100 {
        policy.tick(1, &mut quota);
        results.push(quota.consume(1));
    }

    assert_eq!(results.iter().filter(|r| r.is_ok()).count(), 19);
    assert_eq!(results.iter().filter(|r| r.is_err()).count(), 81);
}