public async Task can_execute_ping_check()
        {
            var healthChecks = Enumerable.Empty <HealthCheck>();
            var name         = "github ping";

            var factory = new HealthCheckFactory(_logger, healthChecks);

            factory.RegisterPingHealthCheck(name, "github.com", TimeSpan.FromSeconds(10));

            var check  = factory.Checks.FirstOrDefault();
            var result = await check.Value.ExecuteAsync().ConfigureAwait(false);

            result.Check.Status.Should().Be(HealthCheckStatus.Healthy);
        }
        public async Task can_execute_ping_check(HealthCheckStatus expectedResult, string host, bool degradedOnError = false)
        {
            var healthChecks = Enumerable.Empty <HealthCheck>();
            var name         = "github ping";

            var factory = new HealthCheckFactory(_logger, new Lazy <IMetrics>(), healthChecks);

            factory.RegisterPingHealthCheck(name, host, TimeSpan.FromSeconds(5), degradedOnError: degradedOnError);

            var check  = factory.Checks.FirstOrDefault();
            var result = await check.Value.ExecuteAsync().ConfigureAwait(false);

            result.Check.Status.Should().Be(expectedResult);
        }