public void Dispose_ActionIsCalledOnlyOnce()
		{
			var count = 0;
			Action action = () => ++count;
			var disposable = new DisposableAction(action);

			disposable.Dispose();
			disposable.Dispose();
			disposable.Dispose();

			Assert.AreEqual(1, count);
		}
        public void DisposableActionGetsCorrectParameterFromCtor()
        {
            int expected = 4543;
            int actual = 0;
            DisposableAction<int> action = new DisposableAction<int>(delegate(int i)
            {
                actual = i;
            }, expected);
            action.Dispose();

            Assert.AreEqual(expected, actual);
        }