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);
}
}