public void OnShrink(FSharpList <object> args, FSharpFunc <FSharpList <object>, string> everyShrink)
        {
            TestTimer.Stop();
            RunnerImplementation.OnShrink(args, everyShrink);
            numberOfShrinks++;

            if (!isDetailedTraces)
            {
                if (isRunningTests && FsCheckRunnerConfig.TraceNumberOfRuns)
                {
                    isRunningTests = false;
                    FormattableString.Invariant($"Failed test: {latestNumTests} / {MaxTest}");
                }

                if (isRunningShrinks && FsCheckRunnerConfig.TraceNumberOfRuns)
                {
                    Trace(
                        FormattableString.Invariant(
                            $"Ran shrink: {numberOfShrinks} in {TestTimer.ElapsedMilliseconds:n0}ms"
                            )
                        );
                }

                isRunningShrinks = true;
            }

            TestTimer.Restart();
        }
        public void OnArguments(
            int numTest, FSharpList <object> args, FSharpFunc <int, FSharpFunc <FSharpList <object>, string> > every)
        {
            TestTimer.Stop();
            RunnerImplementation.OnArguments(numTest, args, every);
            latestNumTests++;

            if (!isDetailedTraces)
            {
                if (FsCheckRunnerConfig.TraceNumberOfRuns)
                {
                    Trace(
                        FormattableString.Invariant(
                            $"Ran test: {latestNumTests} / {MaxTest} in {TestTimer.ElapsedMilliseconds:n0}ms"
                            )
                        );
                }

                isRunningTests = true;
            }

            TestTimer.Restart();
        }
 public void OnStartFixture(Type t)
 {
     RunnerImplementation.OnStartFixture(t);
     TestTimer.Restart();
 }