/**
   * Test method for {@link
   * net.sf.hajdbc.balancer.AbstractBalancer#containsAll(java.util.Collection)}.
   */
  @Test
  public void containsAll() {
    Balancer<Void, MockDatabase> balancer =
        this.factory.createBalancer(Collections.<MockDatabase>emptySet());

    assertTrue(balancer.containsAll(Collections.emptyList()));
    assertFalse(balancer.containsAll(Collections.singletonList(this.databases[0])));
    assertFalse(balancer.containsAll(Arrays.asList(this.databases[0], this.databases[1])));
    assertFalse(balancer.containsAll(Arrays.asList(this.databases)));

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

    assertTrue(balancer.containsAll(Collections.emptyList()));
    assertTrue(balancer.containsAll(Collections.singletonList(this.databases[0])));
    assertFalse(balancer.containsAll(Arrays.asList(this.databases[0], this.databases[1])));
    assertFalse(balancer.containsAll(Arrays.asList(this.databases)));

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

    assertTrue(balancer.containsAll(Collections.emptyList()));
    assertTrue(balancer.containsAll(Collections.singletonList(this.databases[0])));
    assertTrue(balancer.containsAll(Arrays.asList(this.databases[0], this.databases[1])));
    assertFalse(balancer.containsAll(Arrays.asList(this.databases)));

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

    assertTrue(balancer.containsAll(Collections.emptyList()));
    assertTrue(balancer.containsAll(Collections.singletonList(this.databases[0])));
    assertTrue(balancer.containsAll(Arrays.asList(this.databases[0], this.databases[1])));
    assertTrue(balancer.containsAll(Arrays.asList(this.databases)));
  }