Example #1
0
        public static MinimumWithMetrics <T> MinimumWithMetrics <T>(
            this IGenAdvanced <T> advanced,
            int iterations      = 100,
            int?seed            = null,
            int?size            = null,
            bool deepMinimum    = false,
            Func <T, bool>?pred = null)
        {
            pred ??= (_) => true;

            var property = advanced.AsGen().ForAll(x =>
            {
                var result = pred(x);
                return(result == false);
            });

            var result = property.Check(iterations: iterations, seed: seed, size: size, deepCheck: deepMinimum);

            if (result.Falsified)
            {
                return(new MinimumWithMetrics <T>(result.Counterexample !.Value, result.Shrinks));
            }

            throw new Exceptions.NoMinimalFoundException();
        }
Example #2
0
        public static SampleOneWithMetricsResult <T> SampleOneWithMetrics <T>(
            this IGenAdvanced <T> advanced,
            int?seed = null,
            int?size = null)
        {
            var sample = advanced.SampleExampleSpacesWithMetrics(iterations: 1, seed: seed, size: size);

            return(new SampleOneWithMetricsResult <T>(
                       sample.Values.Single().Current.Value,
                       sample.Discards,
                       sample.RandomnessConsumption));
        }
Example #3
0
        public static void Print <T>(
            this IGenAdvanced <T> advanced,
            int?iterations         = null,
            int?seed               = null,
            int?size               = null,
            Action <string>?stdout = null)
        {
            var sample = advanced.SamplePresentationalWithMetrics(
                iterations: iterations,
                seed: seed,
                size: size);

            PrintHelpers.Print(sample.Values, sample.Discards, stdout);
        }
Example #4
0
        internal static SampleWithMetricsResult <IExampleSpace <T> > RunExampleSpaceSample <T>(
            IGenAdvanced <T> advanced,
            int?iterations,
            int?seed,
            int?size)
        {
            var property = advanced.AsGen().ForAll(_ => true);

            var checkResult = property.Check(iterations: iterations, seed: seed, size: size, deepCheck: false);

            var values = checkResult.Checks
                         .Select(check => check.ExampleSpace)
                         .ToList();

            return(new SampleWithMetricsResult <IExampleSpace <T> >(
                       values,
                       checkResult.Discards,
                       checkResult.RandomnessConsumption));
        }
Example #5
0
        internal static SampleWithMetricsResult <object?[]> RunPresentationalValueSample <T>(
            IGenAdvanced <Test <T> > advanced,
            int?iterations,
            int?seed,
            int?size)
        {
            var property = advanced
                           .AsGen()
                           .Where(TestMeetsPrecondition)
                           .Select(MuteTestFailure);

            var checkResult = property.Check(iterations: iterations, seed: seed, size: size);

            var values = checkResult.Checks
                         .Select(check => check.PresentationalValue)
                         .ToList();

            return(new SampleWithMetricsResult <object?[]>(
                       values,
                       checkResult.Discards,
                       checkResult.RandomnessConsumption));
        }
Example #6
0
 public AdvancedToGen(IGenAdvanced <T> advanced)
 {
     Advanced = advanced;
 }
Example #7
0
 public static IGen <T> AsGen <T>(this IGenAdvanced <T> advanced) => new AdvancedToGen <T>(advanced);
Example #8
0
 public static SampleWithMetricsResult <IExampleSpace <T> > SampleExampleSpacesWithMetrics <T>(
     this IGenAdvanced <Test <T> > advanced,
     int?iterations = null,
     int?seed       = null,
     int?size       = null) => SampleHelpers.RunExampleSpaceSample(advanced, iterations: iterations, seed: seed, size: size);
Example #9
0
 public static List <IExampleSpace <T> > SampleExampleSpaces <T>(
     this IGenAdvanced <T> advanced,
     int?iterations = null,
     int?seed       = null,
     int?size       = null) => advanced.SampleExampleSpacesWithMetrics(iterations: iterations, seed: seed, size: size).Values;
Example #10
0
 public static IExampleSpace <T> SampleOneExampleSpace <T>(
     this IGenAdvanced <T> advanced,
     int?seed = null,
     int?size = null) => advanced.SampleExampleSpaces(iterations: 1, seed: seed, size: size).Single();
Example #11
0
 public static SampleWithMetricsResult <T> SampleWithMetrics <T>(
     this IGenAdvanced <Test <T> > advanced,
     int?iterations = null,
     int?seed       = null,
     int?size       = null) => advanced.SampleExampleSpacesWithMetrics(iterations: iterations, seed: seed, size: size).Select(exs => exs.Current.Value);
Example #12
0
 public static SampleWithMetricsResult <object?[]> SamplePresentationalWithMetrics <T>(
     this IGenAdvanced <T> advanced,
     int?iterations = null,
     int?seed       = null,
     int?size       = null) => PresentationalSampleHelpers.RunPresentationalValueSample(advanced, iterations: iterations, seed: seed, size: size);