private void LogResults(ImageSizeValidationResults results)
        {
            _loggerService.WriteHeading("VALIDATION RESULTS");
            LogResults(results.ImagesWithNoSizeChange, "Images with no size change:");
            LogResults(results.ImagesWithAllowedSizeChange, "Images with allowed size change:");
            LogResults(results.ImagesWithDisallowedSizeChange, "Images exceeding size variance:");
            LogResults(results.ImagesWithMissingBaseline, "Images missing from baseline:");
            LogResults(results.ImagesWithExtraneousBaseline, "Extra baseline images not defined in manifest:");

            if (results.ImagesWithDisallowedSizeChange.Any() ||
                results.ImagesWithMissingBaseline.Any() ||
                results.ImagesWithExtraneousBaseline.Any())
            {
                _loggerService.WriteError("Image size validation failed");
                _loggerService.WriteMessage("The baseline file can be updated by running the updateImageSizeBaseline command.");

                _environmentService.Exit(1);
            }
        }
 public override Task ExecuteAsync()
 {
     ValidationResults = ValidateImages();
     LogResults(ValidationResults);
     return(Task.CompletedTask);
 }