public void ShouldAllow0PercentBreak()
        {
            var result = new ThresholdBreakInput {
                SuppliedInput = 0
            }.Validate(low: 100);

            result.ShouldBe(0, "because some users will want to break only on literally 0.00 percent score.");
        }
        public void ShouldAllow100PercentBreak()
        {
            var result = new ThresholdBreakInput {
                SuppliedInput = 100
            }.Validate(low: 100);

            result.ShouldBe(100, "because some people will not allow any mutations in their projects.");
        }
        public void ShouldBeDefaultValueWhenNull()
        {
            var input = new ThresholdBreakInput {
                SuppliedInput = null
            };
            var options = input.Validate(low: 80);

            options.ShouldBe(input.Default.Value);
        }
        public void CanBeEqualToThresholdLow()
        {
            var input = 60;
            var options = new ThresholdBreakInput {
                SuppliedInput = input
            }.Validate(low: 60);

            options.ShouldBe(input);
        }
        public void ShouldHaveHelpText()
        {
            var target = new ThresholdBreakInput();

            target.HelpText.ShouldBe(@"Anything below this mutation score will return a non-zero exit code. Must be less than or equal to threshold low. | default: '0' | allowed: 0 - 100");
        }