public void Dispose_Sync()
		{
			var context = new Mock<SynchronizationContext>(MockBehavior.Strict);
			context.Setup(_ => _.Send(It.IsAny<SendOrPostCallback>(), It.IsAny<object>())).Callback((SendOrPostCallback c, object s) => c(s));

			var item = new Mock<IDisposable>(MockBehavior.Strict);
			item.Setup(_ => _.Dispose());

			var disposable = new DisposableContext(item.Object, context.Object);
			disposable.Dispose();

			context.Verify(_ => _.Send(It.IsAny<SendOrPostCallback>(), It.IsAny<object>()), Times.Once);
			item.Verify(_ => _.Dispose(), Times.Once);
		}