@Test
public void testTokenAwareMultiplePorts() throws Exception {

    TreeMap<HostToken, HostConnectionPool<Integer>> pools = new TreeMap<HostToken, HostConnectionPool<Integer>>(new Comparator<HostToken>() {
        @Override
        public int compare(HostToken o1, HostToken o2) {
            return o1.compareTo(o2);
        }
    });
    pools.put(h1p8100, getMockHostConnectionPool(h1p8100));
    pools.put(h1p8101, getMockHostConnectionPool(h1p8101));
    pools.put(h1p8102, getMockHostConnectionPool(h1p8102));
    pools.put(h1p8103, getMockHostConnectionPool(h1p8103));
    TokenAwareSelection<Integer> tokenAwareSelector = new TokenAwareSelection<Integer>();
    tokenAwareSelector.initWithHosts(pools);
    Map<Integer, Integer> result = new HashMap<Integer, Integer>();
    runTestWithPorts(0L, 100000L, result, tokenAwareSelector);
    System.out.println("Token distribution: " + result);
    verifyTokenDistribution(result.values());
}