public void ReturnsTrueOnSuccessfulDisposal()
 {
     var disposable = new Disposable();
     var result = disposable.DisposeSafely();
     Assert.IsTrue(result);
     Assert.IsTrue(disposable.DisposeWasCalled);
 }
 public void InvokesErrorHandlerOnExceptionDuringDispose()
 {
     var errorHandlerWasInvoked = false;
     var disposable = new Disposable(throwException: true);
     var result = disposable.DisposeSafely(error => errorHandlerWasInvoked = true);
     Assert.IsFalse(result);
     Assert.IsTrue(errorHandlerWasInvoked);
     Assert.IsTrue(disposable.DisposeWasCalled);
 }