コード例 #1
0
  @Test
  public void testDeterministicOneHost() {
    final Set<String> chosenHosts = Sets.newHashSet();
    final HostPickingStrategy strategy1 = HostPickingStrategies.deterministicOneHost("");
    for (int i = 0; i < NUM_ITERATIONS; i++) {
      chosenHosts.add(strategy1.pickHost(HOSTS));
    }

    final HostPickingStrategy strategy2 = HostPickingStrategies.deterministicOneHost("");
    for (int i = 0; i < NUM_ITERATIONS; i++) {
      chosenHosts.add(strategy2.pickHost(HOSTS));
    }
    assertEquals(1, chosenHosts.size());
  }
コード例 #2
0
  @Test
  public void testDeterministic() {
    final List<String> order = Lists.newArrayList();
    final Set<String> chosenHosts = Sets.newHashSet();
    final HostPickingStrategy strategy1 = HostPickingStrategies.deterministic("");
    for (int i = 0; i < NUM_ITERATIONS; i++) {
      final String picked = strategy1.pickHost(HOSTS);
      order.add(picked);
      chosenHosts.add(picked);
    }
    // should've hit them all
    assertEquals(HOSTS.size(), chosenHosts.size());

    final HostPickingStrategy strategy2 = HostPickingStrategies.deterministic("");
    for (int i = 0; i < NUM_ITERATIONS; i++) {
      assertEquals("at index " + i, order.get(i), strategy2.pickHost(HOSTS));
    }
  }
コード例 #3
0
  @Test
  public void testRandom() {
    final List<String> order = Lists.newArrayList();
    final Set<String> chosenHosts = Sets.newHashSet();
    final HostPickingStrategy strategy1 = HostPickingStrategies.random();
    for (int i = 0; i < NUM_ITERATIONS; i++) {
      final String picked = strategy1.pickHost(HOSTS);
      order.add(picked);
      chosenHosts.add(picked);
    }
    // should've hit them all
    assertEquals(HOSTS.size(), chosenHosts.size());

    final HostPickingStrategy strategy2 = HostPickingStrategies.random();
    boolean different = false;
    for (int i = 0; i < NUM_ITERATIONS; i++) {
      if (!order.get(i).equals(strategy2.pickHost(HOSTS))) {
        different = true;
        break;
      }
    }
    assertTrue(different);
  }