コード例 #1
0
        public void RoundRobin()
        {
            var loadBalancer = new RoundRobinLoadBalancer();
            var input        = new[] { "a", "b", "c", "d" };

            Assert.Equal(new[] { "a", "b", "c", "d" }, loadBalancer.LoadBalance(input));
            Assert.Equal(new[] { "b", "c", "d", "a" }, loadBalancer.LoadBalance(input));
            Assert.Equal(new[] { "c", "d", "a", "b" }, loadBalancer.LoadBalance(input));
            Assert.Equal(new[] { "d", "a", "b", "c" }, loadBalancer.LoadBalance(input));
            Assert.Equal(new[] { "a", "b", "c", "d" }, loadBalancer.LoadBalance(input));
        }
コード例 #2
0
        public void Random()
        {
            var loadBalancer = new RoundRobinLoadBalancer();
            var input        = new[] { "a", "b", "c", "d" };

            for (int i = 0; i < 10; i++)
            {
                var output = loadBalancer.LoadBalance(input);
                Assert.NotSame(input, output);
                Assert.Equal(input.Length, output.Count());
                Assert.Equal(input, output.OrderBy(x => x));
            }
        }