public void Static()
        {
            var memberId = Guid.NewGuid();
            var lb       = new StaticLoadBalancer(memberId);

            Assert.That(lb.Count, Is.EqualTo(1));
            for (var i = 0; i < 4; i++)
            {
                Assert.That(lb.GetMember(), Is.EqualTo(memberId));
            }

            // no effect
            lb.SetMembers(new[] { Guid.NewGuid() });

            Assert.That(lb.Count, Is.EqualTo(1));
            for (var i = 0; i < 4; i++)
            {
                Assert.That(lb.GetMember(), Is.EqualTo(memberId));
            }

            lb = new StaticLoadBalancer(new Dictionary <string, string>
            {
                { "memberId", memberId.ToString() }
            });

            Assert.That(lb.Count, Is.EqualTo(1));
            Assert.That(lb.GetMember(), Is.EqualTo(memberId));
        }
        public void Static()
        {
            var memberId = Guid.NewGuid();
            var lb       = new StaticLoadBalancer(memberId);

            Assert.That(lb.Count, Is.EqualTo(1));
            for (var i = 0; i < 4; i++)
            {
                Assert.That(lb.GetMember(), Is.EqualTo(memberId));
            }

            Assert.Throws <InvalidOperationException>(() => lb.NotifyMembers(new[] { Guid.NewGuid() }));

            lb = new StaticLoadBalancer(new Dictionary <string, string>
            {
                { "memberId", memberId.ToString() }
            });

            Assert.That(lb.Count, Is.EqualTo(1));
            Assert.That(lb.GetMember(), Is.EqualTo(memberId));
        }