<commit_before>import static org.junit.Assert.*;
import org.junit.*;

public class UnionFindTest {

  // @Before public void setup() { }

  @Test
  public void testNumberOfComponents() {

    UnionFind uf = new UnionFind(5);
    assertEquals(uf.numberOfComponents(), 5);

    uf.unify(0,1);
    assertEquals(uf.numberOfComponents(), 4);
    
    uf.unify(1,0);
    assertEquals(uf.numberOfComponents(), 4);

    uf.unify(1,2);
    assertEquals(uf.numberOfComponents(), 3);
    
    uf.unify(0,2);
    assertEquals(uf.numberOfComponents(), 3);

    uf.unify(2,1);
    assertEquals(uf.numberOfComponents(), 3);

    uf.unify(3,4);
    assertEquals(uf.numberOfComponents(), 2);

    uf.unify(4,3);
    assertEquals(uf.numberOfComponents(), 2);

    uf.unify(1,3);
    assertEquals(uf.numberOfComponents(), 1);

    uf.unify(4,0);
    assertEquals(uf.numberOfComponents(), 1);

  }

  @Test
  public void testComponentSize() {

    UnionFind uf = new UnionFind(5);
    assertEquals(uf.getComponentSize(0), 1);
    assertEquals(uf.getComponentSize(1), 1);
    assertEquals(uf.getComponentSize(2), 1);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);

    uf.unify(0,1);
    assertEquals(uf.getComponentSize(0), 2);
    assertEquals(uf.getComponentSize(1), 2);
    assertEquals(uf.getComponentSize(2), 1);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);    
    
    uf.unify(1,0);
    assertEquals(uf.getComponentSize(0), 2);
    assertEquals(uf.getComponentSize(1), 2);
    assertEquals(uf.getComponentSize(2), 1);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);      

    uf.unify(1,2);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);    
    
    uf.unify(0,2);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);    

    uf.unify(2,1);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);    

    uf.unify(3,4);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 2);
    assertEquals(uf.getComponentSize(4), 2);
    
    uf.unify(4,3);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 2);
    assertEquals(uf.getComponentSize(4), 2);    

    uf.unify(1,3);
    assertEquals(uf.getComponentSize(0), 5);
    assertEquals(uf.getComponentSize(1), 5);
    assertEquals(uf.getComponentSize(2), 5);
    assertEquals(uf.getComponentSize(3), 5);
    assertEquals(uf.getComponentSize(4), 5);     

    uf.unify(4,0);
    assertEquals(uf.getComponentSize(0), 5);
    assertEquals(uf.getComponentSize(1), 5);
    assertEquals(uf.getComponentSize(2), 5);
    assertEquals(uf.getComponentSize(3), 5);
    assertEquals(uf.getComponentSize(4), 5);         

  }

}

<commit_msg>Added tests for unionfind<commit_after>import static org.junit.Assert.*;
import org.junit.*;

public class UnionFindTest {

  // @Before public void setup() { }

  @Test
  public void testNumberOfComponents() {

    UnionFind uf = new UnionFind(5);
    assertEquals(uf.numberOfComponents(), 5);

    uf.unify(0,1);
    assertEquals(uf.numberOfComponents(), 4);
    
    uf.unify(1,0);
    assertEquals(uf.numberOfComponents(), 4);

    uf.unify(1,2);
    assertEquals(uf.numberOfComponents(), 3);
    
    uf.unify(0,2);
    assertEquals(uf.numberOfComponents(), 3);

    uf.unify(2,1);
    assertEquals(uf.numberOfComponents(), 3);

    uf.unify(3,4);
    assertEquals(uf.numberOfComponents(), 2);

    uf.unify(4,3);
    assertEquals(uf.numberOfComponents(), 2);

    uf.unify(1,3);
    assertEquals(uf.numberOfComponents(), 1);

    uf.unify(4,0);
    assertEquals(uf.numberOfComponents(), 1);

  }

  @Test
  public void testComponentSize() {

    UnionFind uf = new UnionFind(5);
    assertEquals(uf.getComponentSize(0), 1);
    assertEquals(uf.getComponentSize(1), 1);
    assertEquals(uf.getComponentSize(2), 1);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);

    uf.unify(0,1);
    assertEquals(uf.getComponentSize(0), 2);
    assertEquals(uf.getComponentSize(1), 2);
    assertEquals(uf.getComponentSize(2), 1);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);    
    
    uf.unify(1,0);
    assertEquals(uf.getComponentSize(0), 2);
    assertEquals(uf.getComponentSize(1), 2);
    assertEquals(uf.getComponentSize(2), 1);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);      

    uf.unify(1,2);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);    
    
    uf.unify(0,2);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);    

    uf.unify(2,1);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 1);
    assertEquals(uf.getComponentSize(4), 1);    

    uf.unify(3,4);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 2);
    assertEquals(uf.getComponentSize(4), 2);
    
    uf.unify(4,3);
    assertEquals(uf.getComponentSize(0), 3);
    assertEquals(uf.getComponentSize(1), 3);
    assertEquals(uf.getComponentSize(2), 3);
    assertEquals(uf.getComponentSize(3), 2);
    assertEquals(uf.getComponentSize(4), 2);    

    uf.unify(1,3);
    assertEquals(uf.getComponentSize(0), 5);
    assertEquals(uf.getComponentSize(1), 5);
    assertEquals(uf.getComponentSize(2), 5);
    assertEquals(uf.getComponentSize(3), 5);
    assertEquals(uf.getComponentSize(4), 5);     

    uf.unify(4,0);
    assertEquals(uf.getComponentSize(0), 5);
    assertEquals(uf.getComponentSize(1), 5);
    assertEquals(uf.getComponentSize(2), 5);
    assertEquals(uf.getComponentSize(3), 5);
    assertEquals(uf.getComponentSize(4), 5);

  }

  @Test
  public void testGetSize() {

    UnionFind uf = new UnionFind(5);
    assertEquals(uf.getSize(), 5);
    uf.unify(0,1);
    uf.find(3);
    assertEquals(uf.getSize(), 5);
    uf.unify(1,2);
    assertEquals(uf.getSize(), 5);
    uf.unify(0,2);
    uf.find(1);
    assertEquals(uf.getSize(), 5);
    uf.unify(2,1);
    assertEquals(uf.getSize(), 5);
    uf.unify(3,4);
    uf.find(0);
    assertEquals(uf.getSize(), 5);
    uf.unify(4,3);
    uf.find(3);
    assertEquals(uf.getSize(), 5);
    uf.unify(1,3);
    assertEquals(uf.getSize(), 5);
    uf.find(2);
    uf.unify(4,0);
    assertEquals(uf.getSize(), 5);

  }

  @Test(expected=IllegalArgumentException.class)
  public void testBadUnionFindCreation1() {
    new UnionFind(-1);
  }

  @Test(expected=IllegalArgumentException.class)
  public void testBadUnionFindCreation2() {
    new UnionFind(-3463);
  }

  @Test(expected=IllegalArgumentException.class)
  public void testBadUnionFindCreation3() {
    new UnionFind(0);
  }

}


{'fraction_non_alphanumeric': 0.16, 'fraction_numerical': 0.042397476340694004, 'mean_word_length': 3.9849056603773585, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2989853', 'n_tokens_mistral': 2880, 'n_tokens_neox': 2649, 'n_words': 392}