public void RedundantCreateWhileLocked() { string dir = Path.Combine(TemporaryDirectory, "DeleteMe"); using (var dirLock = new DirectoryDeletionLock()) { dirLock.CreateAndPreventDeletion(dir); Directory.CreateDirectory(dir); } }
public void CanDeleteDirectoryAfterUnlocking() { string dir = Path.Combine(TemporaryDirectory, "DeleteMe"); using (var dirLock = new DirectoryDeletionLock()) { dirLock.CreateAndPreventDeletion(dir); } Directory.Delete(dir); }
public void CannotDeleteLockedDirectory() { string dir = Path.Combine(TemporaryDirectory, "DeleteMe"); using (var dirLock = new DirectoryDeletionLock()) { dirLock.CreateAndPreventDeletion(dir); try { Directory.Delete(dir); } catch (IOException) { return; } XAssert.Fail("Expected a sharing violation"); } }