@Test
public void testMergeClusters()
        throws Exception
{

    Set<Set<String>> c1 = new HashSet<>();
    c1.add(new HashSet<>(Arrays.asList("1", "2")));
    c1.add(new HashSet<>(Arrays.asList("3", "4")));
    Set<Set<String>> merged1 = Step6GraphTransitivityCleaner.mergeClusters(c1);
    assertEquals(2, merged1.size());

    Set<Set<String>> c2 = new HashSet<>();
    c2.add(new HashSet<>(Arrays.asList("1", "2")));
    c2.add(new HashSet<>(Arrays.asList("3", "4")));
    c2.add(new HashSet<>(Arrays.asList("5", "4")));

    Set<Set<String>> merged2 = Step6GraphTransitivityCleaner.mergeClusters(c2);
    assertEquals(2, merged2.size());

    Set<Set<String>> c3 = new HashSet<>();
    c3.add(new HashSet<>(Arrays.asList("1", "5")));
    c3.add(new HashSet<>(Arrays.asList("3", "4")));
    c3.add(new HashSet<>(Arrays.asList("5", "4")));

    Set<Set<String>> merged3 = Step6GraphTransitivityCleaner.mergeClusters(c3);
    assertEquals(1, merged3.size());
}