public void MultipleDisposes()
{
bool disposed = false;
var disposable = new DisposableAction(() => { disposed = true; });
var disposer = new Disposer();
Assert.False(disposed);
disposer.Dispose();
disposer.Dispose();
disposer.Dispose();
disposer.Dispose();
disposer.Set(disposable);
Assert.True(disposed);
}