/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="healthTests">Collection of custom health tests to be run.</param>
        /// <param name="healthStatusFlag">The status flag.</param>
        public ResourceHealthCheck(IEnumerable <IHealthTest> healthTests, IHealthStatusFlag healthStatusFlag)
        {
            var tests = healthTests.ToList();

            _healthTests      = !tests.Any() ? throw new ArgumentException("At least 1 test must exist to use this health check.") : tests;
            _healthStatusFlag = healthStatusFlag;
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="healthStatusFlag">The status flag.</param>
 public GoodToGoHealthCheck(IHealthStatusFlag healthStatusFlag)
 {
     _healthStatusFlag = healthStatusFlag ?? throw new ArgumentNullException(nameof(healthStatusFlag));
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="healthStatusFlag"></param>
 public ServiceCanaryHealthCheck(IHealthStatusFlag healthStatusFlag)
 {
     _healthStatusFlag = healthStatusFlag;
 }