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