private static bool ProjectAnalyzerIsUpToDateCall(string projectFile, ILogger logger = null, IDesignTimeBuildRunner runner = null, IBuildCheckProvider checks = null, bool cleanUp = true)
        {
            try
            {
                var usedLogger = logger ?? new ConsoleLogger(false);

                ProjectAnalyzer analyzer = new ProjectAnalyzer(
                    usedLogger,
                    runner ?? new DesignTimeBuildRunner(usedLogger, null),
                    checks ?? new BuildCheckProvider());

                (bool isUpToDate, string failureMessage) = analyzer.IsBuildUpToDate(projectFile);
                return(isUpToDate);
            }
            finally
            {
                if (cleanUp)
                {
                    TestUtilities.CleanUpTestProject(projectFile);
                }
            }
        }