Add unit tests

This commit is contained in:
René Pfeuffer
2020-05-11 16:48:02 +02:00
parent dbc58784e4
commit fba34b3bab
2 changed files with 44 additions and 0 deletions

View File

@@ -103,6 +103,22 @@ public class GitDiffResultCommandTest extends AbstractGitCommandTestBase {
assertThat(hunk.getNewLineCount()).isEqualTo(2);
}
@Test
public void shouldReturnRenames() throws IOException {
DiffResult diffResult = createDiffResult("rename");
Iterator<DiffFile> fileIterator = diffResult.iterator();
DiffFile renameA = fileIterator.next();
assertThat(renameA.getOldPath()).isEqualTo("a.txt");
assertThat(renameA.getNewPath()).isEqualTo("a-copy.txt");
assertThat(renameA.iterator().hasNext()).isFalse();
DiffFile renameB = fileIterator.next();
assertThat(renameB.getOldPath()).isEqualTo("b.txt");
assertThat(renameB.getNewPath()).isEqualTo("b-copy.txt");
assertThat(renameB.iterator().hasNext()).isFalse();
}
private DiffResult createDiffResult(String s) throws IOException {
GitDiffResultCommand gitDiffResultCommand = new GitDiffResultCommand(createContext());
DiffCommandRequest diffCommandRequest = new DiffCommandRequest();

View File

@@ -112,6 +112,15 @@ class GitHunkParserTest {
" indent_size = 2\r\r\n" +
" charset = utf-8\n";
private static final String RENAMES = "diff --git a/a.txt b/a-copy.txt\n" +
"similarity index 100%\n" +
"rename from a.txt\n" +
"rename to a-copy.txt\n" +
"diff --git a/b.txt b/b-copy.txt\n" +
"similarity index 100%\n" +
"rename from b.txt\n" +
"rename to b-copy.txt";
@Test
void shouldParseHunks() {
List<Hunk> hunks = new GitHunkParser().parse(DIFF_001);
@@ -210,6 +219,25 @@ class GitHunkParserTest {
assertThat(lines.hasNext()).isFalse();
}
@Test
void shouldHandleRenames() {
List<Hunk> hunks = new GitHunkParser().parse(RENAMES);
Hunk hunk = hunks.get(0);
hunk.getRawHeader();
Iterator<DiffLine> lines = hunk.iterator();
DiffLine line1 = lines.next();
assertThat(line1.getOldLineNumber()).hasValue(10);
assertThat(line1.getNewLineNumber()).hasValue(10);
assertThat(line1.getContent()).isEqualTo("indent_style = space");
lines.next();
lines.next();
assertThat(lines.hasNext()).isFalse();
}
private void assertHunk(Hunk hunk, int oldStart, int oldLineCount, int newStart, int newLineCount) {
assertThat(hunk.getOldStart()).isEqualTo(oldStart);
assertThat(hunk.getOldLineCount()).isEqualTo(oldLineCount);