View Javadoc

1   package com.aragost.javahg;
2   
3   import java.io.IOException;
4   
5   import org.junit.Assert;
6   import org.junit.Test;
7   
8   import com.aragost.javahg.commands.MergeCommand;
9   import com.aragost.javahg.test.AbstractTestCase;
10  
11  public class WorkingCopyTest extends AbstractTestCase {
12      
13      @Test
14      public void test() throws IOException {
15          BaseRepository repo = getTestRepository();
16          WorkingCopy wc1 = repo.workingCopy();
17          Assert.assertNull(wc1.getParent1());
18          Assert.assertNull(wc1.getParent2());
19          Assert.assertEquals("default", wc1.getBranchName());
20          
21          Changeset root = createChangeset();
22          Assert.assertNotNull(root);
23          WorkingCopy wc2 = repo.workingCopy();
24          // wc1 still has the "old" data
25          Assert.assertNull(wc1.getParent1());
26          Assert.assertEquals(root, wc2.getParent1());
27          
28          WorkingCopy wc3 = repo.workingCopy();
29          wc2.setBranchName("abc");
30          Assert.assertEquals("default", wc1.getBranchName());
31          Assert.assertEquals("abc", wc2.getBranchName());
32          Assert.assertEquals("abc", wc3.getBranchName());
33          
34          Changeset first = createChangeset();
35          wc3.setBranchName("b1");
36          update(root);
37          Changeset second = createChangeset();
38          wc3.setBranchName("b2");
39          second = commit();
40          MergeCommand.on(repo).rev(first.getNode()).execute(null);
41          
42          WorkingCopy wc4 = repo.workingCopy();
43          Assert.assertEquals(second, wc4.getParent1());
44          Assert.assertEquals(first, wc4.getParent2());
45          Assert.assertEquals("b2", wc4.getBranchName());
46          
47      }
48  
49  }