public void OutOfBoundReturnsNull()
            {
                const string OutOfBoundString = "79000000000000000000000000000000";

                var result = OutOfBoundString.ConvertToNullable().Decimal.Parse();

                result.HasValue.Should().BeFalse();
            }
            public void OutOfBoundReturnsNull()
            {
                const string OutOfBoundString = "3.4e39";

                var result = OutOfBoundString.ConvertToNullable().Single.Parse();

                result.HasValue.Should().BeFalse();
            }
            public void OutOfBoundReturnsDefault()
            {
                const string  OutOfBoundString = "79000000000000000000000000000000";
                const decimal DefaultValue     = 5;

                var result = OutOfBoundString.ConvertWithDefaultTo().Decimal.Parse(DefaultValue);

                result.Should().Be(DefaultValue);
            }
            public void OutOfBoundReturnsDefault()
            {
                const string OutOfBoundString = "3.4e39";
                const float  DefaultValue     = 5;

                var result = OutOfBoundString.ConvertWithDefaultTo().Single.Parse(DefaultValue);

                result.Should().Be(DefaultValue);
            }
            public void OutOfBoundThrows()
            {
                const string OutOfBoundString = "79000000000000000000000000000000";

                Assert.Throws <OverflowException>(() => OutOfBoundString.ConvertTo().Decimal.Parse());
            }
            public void OutOfBoundThrows()
            {
                const string OutOfBoundString = "3.4e39";

                Assert.Throws <OverflowException>(() => OutOfBoundString.ConvertTo().Single.Parse());
            }