public void DoubleDisposeShouldNotFailForLockHandle() { var handle = _lockSet.TryAcquire("key1"); handle.Should().NotBeNull(); handle.Value.Dispose(); // Dispose pattern implies that double dispose should never fail. handle.Value.Dispose(); }
public void AcquireImmediately() { var lockSet = new LockSet <string>(); using (var handle = lockSet.TryAcquire("key1")) { handle.Should().NotBeNull(); } }
public async Task AcquireImmediatelyNotBlockedAndReturnsNullWhenKeyHeld() { var lockSet = new LockSet <string>(); using (await lockSet.AcquireAsync("key1")) { using (var handle = lockSet.TryAcquire("key1")) { handle.Should().BeNull(); } } }