public void AddDisposable_ThenFinalize() { var objA = new TestDisposable(); var objB = new TestDisposable(); var pool = new DisposablePool(); pool.AddDisposable(objA).Should().BeSameAs(objA); pool.AddDisposable(objB).Should().BeSameAs(objB); pool.DisposeUnmanaged(); // simulate finalizer // Does not dispose managed resources during finalization objA.IsDisposed.Should().BeFalse(); objB.IsDisposed.Should().BeFalse(); }