1
2
3
4
5
6
7
8
9
10
11 package org.eclipse.jgit.diff;
12
13 import static org.junit.Assert.assertEquals;
14
15 import org.eclipse.jgit.diff.DiffEntry.ChangeType;
16 import org.eclipse.jgit.junit.RepositoryTestCase;
17 import org.eclipse.jgit.junit.TestRepository;
18 import org.eclipse.jgit.lib.AbbreviatedObjectId;
19 import org.eclipse.jgit.lib.FileMode;
20 import org.eclipse.jgit.lib.ObjectId;
21 import org.eclipse.jgit.lib.Repository;
22 import org.junit.Before;
23
24 public abstract class AbstractRenameDetectionTestCase
25 extends RepositoryTestCase {
26
27 protected static final String PATH_A = "src/A";
28
29 protected static final String PATH_B = "src/B";
30
31 protected static final String PATH_H = "src/H";
32
33 protected static final String PATH_Q = "src/Q";
34
35 protected TestRepository<Repository> testDb;
36
37 @Override
38 @Before
39 public void setUp() throws Exception {
40 super.setUp();
41 testDb = new TestRepository<>(db);
42 }
43
44 protected ObjectId blob(String content) throws Exception {
45 return testDb.blob(content).copy();
46 }
47
48 protected static void assertRename(DiffEntry o, DiffEntry n, int score,
49 DiffEntry rename) {
50 assertEquals(ChangeType.RENAME, rename.getChangeType());
51
52 assertEquals(o.getOldPath(), rename.getOldPath());
53 assertEquals(n.getNewPath(), rename.getNewPath());
54
55 assertEquals(o.getOldMode(), rename.getOldMode());
56 assertEquals(n.getNewMode(), rename.getNewMode());
57
58 assertEquals(o.getOldId(), rename.getOldId());
59 assertEquals(n.getNewId(), rename.getNewId());
60
61 assertEquals(score, rename.getScore());
62 }
63
64 protected static void assertCopy(DiffEntry o, DiffEntry n, int score,
65 DiffEntry copy) {
66 assertEquals(ChangeType.COPY, copy.getChangeType());
67
68 assertEquals(o.getOldPath(), copy.getOldPath());
69 assertEquals(n.getNewPath(), copy.getNewPath());
70
71 assertEquals(o.getOldMode(), copy.getOldMode());
72 assertEquals(n.getNewMode(), copy.getNewMode());
73
74 assertEquals(o.getOldId(), copy.getOldId());
75 assertEquals(n.getNewId(), copy.getNewId());
76
77 assertEquals(score, copy.getScore());
78 }
79
80 protected static void assertAdd(String newName, ObjectId newId,
81 FileMode newMode, DiffEntry add) {
82 assertEquals(DiffEntry.DEV_NULL, add.oldPath);
83 assertEquals(DiffEntry.A_ZERO, add.oldId);
84 assertEquals(FileMode.MISSING, add.oldMode);
85 assertEquals(ChangeType.ADD, add.changeType);
86 assertEquals(newName, add.newPath);
87 assertEquals(AbbreviatedObjectId.fromObjectId(newId), add.newId);
88 assertEquals(newMode, add.newMode);
89 }
90
91 protected static void assertDelete(String oldName, ObjectId oldId,
92 FileMode oldMode, DiffEntry delete) {
93 assertEquals(DiffEntry.DEV_NULL, delete.newPath);
94 assertEquals(DiffEntry.A_ZERO, delete.newId);
95 assertEquals(FileMode.MISSING, delete.newMode);
96 assertEquals(ChangeType.DELETE, delete.changeType);
97 assertEquals(oldName, delete.oldPath);
98 assertEquals(AbbreviatedObjectId.fromObjectId(oldId), delete.oldId);
99 assertEquals(oldMode, delete.oldMode);
100 }
101 }