public async Task ThrowsWhenWaitingForLessThanZero()
 {
     using var limiter = new NotImplementedPartitionedRateLimiter <string>();
     await Assert.ThrowsAsync <ArgumentOutOfRangeException>(async() => await limiter.WaitAsync(string.Empty, -1));
 }
 public async Task WaitAsyncThrowsWhenPassedACanceledToken()
 {
     using var limiter = new NotImplementedPartitionedRateLimiter <string>();
     await Assert.ThrowsAsync <TaskCanceledException>(
         async() => await limiter.WaitAsync(string.Empty, 1, new CancellationToken(true)));
 }
 public void ThrowsWhenAcquiringLessThanZero()
 {
     using var limiter = new NotImplementedPartitionedRateLimiter <string>();
     Assert.Throws <ArgumentOutOfRangeException>(() => limiter.Acquire(string.Empty, -1));
 }