1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 package com.aragost.javahg.commands;
27
28 import java.io.File;
29 import java.io.IOException;
30 import java.util.List;
31
32 import org.junit.Assert;
33 import org.junit.Test;
34
35 import com.aragost.javahg.Repository;
36 import com.aragost.javahg.test.AbstractTestCase;
37
38 public class AddCommandTest extends AbstractTestCase {
39
40 @Test
41 public void test() throws IOException {
42 Repository repo = getTestRepository();
43 writeFile("a", "");
44 new File(repo.getDirectory(), "dir").mkdir();
45 writeFile("dir/a", "");
46 writeFile("dir/b", "");
47
48 List<File> files = AddCommand.on(repo).execute(new File("dir"));
49 Assert.assertEquals(2, files.size());
50 Assert.assertTrue(files.get(0).isAbsolute());
51 Assert.assertEquals(repoFile(repo, "dir", "a"), files.get(0));
52 Assert.assertEquals(repoFile(repo, "dir", "b"), files.get(1));
53 }
54
55 @Test
56 public void testAlreadyTracked() throws IOException {
57 Repository repo = getTestRepository();
58 writeFile("a", "");
59
60 AddCommand addCommand = AddCommand.on(repo);
61 addCommand.execute();
62 addCommand.execute("a");
63 Assert.assertEquals("a already tracked!\n", addCommand.getErrorString());
64 addCommand.execute();
65 Assert.assertEquals("", addCommand.getErrorString());
66 }
67
68 @Test
69 public void testNoSuchFile() throws IOException {
70 Repository repo = getTestRepository();
71
72 AddCommand addCommand = AddCommand.on(repo);
73 addCommand.execute("a");
74 Assert.assertEquals("a: " + getMissingFileErrorText() + "\n", addCommand.getErrorString());
75 }
76 }