예제 #1
0
  /**
   * Test method for {@link
   * net.sf.hajdbc.balancer.load.LoadBalancer#removeAll(java.util.Collection)}.
   */
  @Test
  public void removeAll() {
    Collection<MockDatabase> databases = Arrays.asList(this.databases[1], this.databases[2]);

    Balancer<Void, MockDatabase> balancer =
        this.factory.createBalancer(Collections.<MockDatabase>emptySet());

    boolean result = balancer.removeAll(databases);

    assertFalse(result);
    assertEquals(Collections.<MockDatabase>emptySet(), balancer);

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

    result = balancer.removeAll(databases);

    assertFalse(result);
    assertEquals(Collections.singleton(this.databases[0]), balancer);

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

    result = balancer.removeAll(databases);

    assertTrue(result);
    assertEquals(Collections.singleton(this.databases[0]), balancer);

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

    result = balancer.removeAll(databases);

    assertTrue(result);
    assertEquals(Collections.singleton(this.databases[0]), balancer);
  }