public void SetUp()
        {
            _specificationFundingStatusService = Substitute.For <ISpecificationFundingStatusService>();
            _specificationService = Substitute.For <ISpecificationService>();
            _jobsRunning          = Substitute.For <IJobsRunning>();
            _calculationApprovalCheckerService = Substitute.For <ICalculationPrerequisiteCheckerService>();
            _jobManagement = Substitute.For <IJobManagement>();
            _logger        = Substitute.For <ILogger>();

            _refreshPrerequisiteChecker = new RefreshPrerequisiteChecker(
                _specificationFundingStatusService,
                _specificationService,
                _jobsRunning,
                _calculationApprovalCheckerService,
                _jobManagement,
                _logger);
        }
        public RefreshPrerequisiteChecker(
            ISpecificationFundingStatusService specificationFundingStatusService,
            ISpecificationService specificationService,
            IJobsRunning jobsRunning,
            ICalculationPrerequisiteCheckerService calculationApprovalCheckerService,
            IJobManagement jobManagement,
            ILogger logger) : base(jobsRunning, jobManagement, logger)
        {
            Guard.ArgumentNotNull(specificationFundingStatusService, nameof(specificationFundingStatusService));
            Guard.ArgumentNotNull(specificationService, nameof(specificationService));
            Guard.ArgumentNotNull(calculationApprovalCheckerService, nameof(calculationApprovalCheckerService));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _specificationFundingStatusService = specificationFundingStatusService;
            _specificationService = specificationService;
            _calculationApprovalCheckerService = calculationApprovalCheckerService;
            _logger = logger;
        }