1 21 package net.sf.hajdbc.balancer; 22 23 import org.testng.annotations.Test; 24 25 import net.sf.hajdbc.Balancer; 26 import net.sf.hajdbc.MockDatabase; 27 28 33 @Test 34 public class TestRoundRobinBalancer extends AbstractTestBalancer 35 { 36 protected Balancer createBalancer() 37 { 38 return new RoundRobinBalancer(); 39 } 40 41 protected void testNext(Balancer balancer) 42 { 43 int count = 100; 44 45 balancer.add(new MockDatabase("0", 0)); 46 47 for (int i = 0; i < count; ++i) 48 { 49 int weight = balancer.next().getWeight(); 50 51 assert weight == 0 : weight; 52 } 53 54 balancer.add(new MockDatabase("1", 1)); 55 56 for (int i = 0; i < count; ++i) 57 { 58 int weight = balancer.next().getWeight(); 59 60 assert weight == 1 : weight; 61 } 62 63 balancer.add(new MockDatabase("2", 2)); 64 65 int[] expected = new int[] { 1, 2, 2 }; 66 67 for (int i = 0; i < count; ++i) 68 { 69 int weight = balancer.next().getWeight(); 70 71 assert expected[i % 3] == weight : weight; 72 } 73 } 74 } 75 | Popular Tags |