public void ScoreFunctionRequiredForAdaptiveBalancers()
        {
            var registrar = new BindingRegistrar();
            var testUri   = new Uri("https://not-really/here");

            foreach (var action in new Action[]
            {
                () => registrar.RegisterAdaptive("adaptive", null, testUri),
                () => registrar.RegisterUpdateableAdaptive("updateable", null, testUri)
            })
            {
                action.Should().Throw <ArgumentNullException>();
            }
        }
        public void AtLeastOneUriRequired()
        {
            var registrar = new BindingRegistrar();

            foreach (var action in new Action[]
            {
                () => registrar.RegisterRandom("random"),
                () => registrar.RegisterRoundRobin("round-robin"),
                () => registrar.RegisterAdaptive("adaptive", uri => 0),
                () => registrar.RegisterUpdateableAdaptive("updateable", uri => 1)
            })
            {
                action.Should().Throw <ArgumentException>().WithMessage("You must provide at least one URI to load balance*");
            }
        }
        public void HostNameIsRequired()
        {
            var registrar = new BindingRegistrar();
            var testUri   = new Uri("http://localhost");

            foreach (var action in new Action[]
            {
                () => registrar.RegisterRandom(null, testUri),
                () => registrar.RegisterRoundRobin(null, testUri),
                () => registrar.RegisterAdaptive(null, uri => 0, testUri),
                () => registrar.RegisterUpdateableAdaptive(null, uri => 1, testUri)
            })
            {
                action.Should().Throw <ArgumentNullException>();
            }
        }