public void TestDisposeOnlyOneTimeByDefault()
        {
            int x = 20;

            using (var d = new DisposableAction(() => x++))
            {
                using (d)
                    x.Should().Be(20);
            }

            x.Should().Be(21);
        }
        public void TestDisposeAsManyTimesAsNeeded()
        {
            int x = 20;

            using (var d = new DisposableAction(() => x++, false))
            {
                using (d)
                    x.Should().Be(20);
            }

            x.Should().Be(22);
        }