コード例 #1
0
  /** Test method for {@link net.sf.hajdbc.balancer.load.LoadBalancer#remove(java.lang.Object)}. */
  @Test
  public void remove() {
    Balancer<Void, MockDatabase> balancer =
        this.factory.createBalancer(Collections.<MockDatabase>emptySet());

    boolean result = balancer.remove(this.databases[1]);
    assertFalse(result);
    assertCollectionEquals(Collections.<MockDatabase>emptySet(), balancer);

    balancer = this.factory.createBalancer(Collections.singleton(this.databases[0]));

    result = balancer.remove(this.databases[1]);
    assertFalse(result);
    assertCollectionEquals(Collections.singleton(this.databases[0]), balancer);

    balancer =
        this.factory.createBalancer(
            new HashSet<MockDatabase>(Arrays.asList(this.databases[0], this.databases[1])));

    result = balancer.remove(this.databases[1]);
    assertTrue(result);
    assertCollectionEquals(Collections.singleton(this.databases[0]), balancer);

    balancer =
        this.factory.createBalancer(new HashSet<MockDatabase>(Arrays.asList(this.databases)));

    result = balancer.remove(this.databases[1]);
    assertTrue(result);
    assertCollectionEquals(Arrays.asList(this.databases[0], this.databases[2]), balancer);
  }