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(); }
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)); }
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); }
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)); }
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)); }
public AdvancedToGen(IGenAdvanced <T> advanced) { Advanced = advanced; }
public static IGen <T> AsGen <T>(this IGenAdvanced <T> advanced) => new AdvancedToGen <T>(advanced);
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);
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;
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();
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);
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);