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); }