public void testBoundaries() {
    // cut and paste from single link
    CompleteLinkClusterer<String> clusterer =
        new CompleteLinkClusterer<String>(SingleLinkClustererTest.TEST_DISTANCE);

    Set<String> elts0 = new HashSet<String>();
    try {
      clusterer.hierarchicalCluster(elts0);
      fail();
    } catch (IllegalArgumentException iae) {
      succeed();
    }
    Set<Set<String>> clusters = clusterer.cluster(elts0);
    assertEquals(0, clusters.size());

    Set<String> elts1 = new HashSet<String>();
    elts1.add("A");
    Set<Set<String>> clustering = new HashSet<Set<String>>();
    clustering.add(elts1);
    assertEquals(clustering, clusterer.cluster(elts1));
    Dendrogram<String> dendro1 = clusterer.hierarchicalCluster(elts1);
    assertTrue(dendro1 instanceof LeafDendrogram);
    assertEquals(elts1, dendro1.memberSet());
    assertEquals(0.0, dendro1.score(), 0.001);
  }