public void ReleaseBelowZero()
        {
            var semaphore = new SemaphoreSuperSlim(1);

            semaphore.Release();

            Assert.AreEqual(0, semaphore.CurrentCount);
        }
        public void AcquireFailed()
        {
            var semaphore = new SemaphoreSuperSlim(1);

            semaphore.Acquire();
            bool acquired = semaphore.Acquire();

            Assert.IsFalse(acquired);
            Assert.AreEqual(1, semaphore.CurrentCount);
        }
 public void MaximumAllowedZero()
 {
     var semaphore = new SemaphoreSuperSlim(0);
 }
 public void MaximumAllowedLessThanZero()
 {
     var semaphore = new SemaphoreSuperSlim(-1);
 }