public void TestObjectDisposedException() { var c = new DisposableCollection(); c.Dispose(); c.Dispose(); // second call should have no effect Assert.ThrowsException <ObjectDisposedException>(() => c.Add(new MockDisposable())); Assert.ThrowsException <ObjectDisposedException>(() => c.Clear()); Assert.ThrowsException <ObjectDisposedException>(() => c.Contains(new MockDisposable())); Assert.ThrowsException <ObjectDisposedException>(() => c.GetEnumerator()); Assert.ThrowsException <ObjectDisposedException>(() => c.Remove(new MockDisposable())); }
private void OnDestroy() { disposables.Clear(); }
public void Add_Clear_Dispose() { var collection = new DisposableCollection(); var disposable = new Mock<IDisposable>(MockBehavior.Strict); disposable.Setup(_ => _.Dispose()); collection.Add(disposable.Object); collection.Clear(); collection.Dispose(); disposable.Verify(_ => _.Dispose(), Times.Never); Assert.AreEqual(0, collection.Count); }
public void Dispose() { disposables.Clear(); }
public void Dispose_Clear_Fail() { var collection = new DisposableCollection(); collection.Dispose(); collection.Clear(); }