public void InitializesWhenConstructed() { var container = new DisposableTokenTestContainer(); Assert.IsFalse(container.IsSuspended); Assert.IsFalse(container.IsDisposed); using (var token = container.Suspend()) { Assert.IsTrue(container.IsSuspended); Assert.IsFalse(container.IsDisposed); Assert.IsTrue(ReferenceEquals(container, ((DisposableToken<DisposableTokenTestContainer>) token).Instance)); } }
public void InitializesWhenConstructed() { var container = new DisposableTokenTestContainer(); Assert.IsFalse(container.IsSuspended); Assert.IsFalse(container.IsDisposed); using (var token = container.Suspend()) { Assert.IsTrue(container.IsSuspended); Assert.IsFalse(container.IsDisposed); Assert.IsTrue(ReferenceEquals(container, ((DisposableToken <DisposableTokenTestContainer>)token).Instance)); } }
public void DisposesWhenDisposed() { var container = new DisposableTokenTestContainer(); Assert.IsFalse(container.IsSuspended); Assert.IsFalse(container.IsDisposed); var token = container.Suspend(); Assert.IsTrue(container.IsSuspended); Assert.IsFalse(container.IsDisposed); Assert.IsTrue(ReferenceEquals(container, ((DisposableToken<DisposableTokenTestContainer>)token).Instance)); token.Dispose(); Assert.IsTrue(container.IsSuspended); Assert.IsTrue(container.IsDisposed); Assert.IsNull(((DisposableToken<DisposableTokenTestContainer>)token).Instance); }
public void DisposesWhenDisposed() { var container = new DisposableTokenTestContainer(); Assert.IsFalse(container.IsSuspended); Assert.IsFalse(container.IsDisposed); var token = container.Suspend(); Assert.IsTrue(container.IsSuspended); Assert.IsFalse(container.IsDisposed); Assert.IsTrue(ReferenceEquals(container, ((DisposableToken <DisposableTokenTestContainer>)token).Instance)); token.Dispose(); Assert.IsTrue(container.IsSuspended); Assert.IsTrue(container.IsDisposed); Assert.IsNull(((DisposableToken <DisposableTokenTestContainer>)token).Instance); }