Map<Path, Set<Integer>> changedLines() {
    return tracker.changedLines();
  }
@Test
  public void parse_diff_with_multiple_files() throws IOException {
    String example = "Index: sample1\n"
      + "===================================================================\n"
      + "--- a/sample1\n"
      + "+++ b/sample1\n"
      + "@@ -1 +0,0 @@\n"
      + "-deleted line\n"
      + "Index: sample2\n"
      + "===================================================================\n"
      + "--- a/sample2\n"
      + "+++ b/sample2\n"
      + "@@ -0,0 +1 @@\n"
      + "+added line\n"
      + "Index: sample3\n"
      + "===================================================================\n"
      + "--- a/sample3\n"
      + "+++ b/sample3\n"
      + "@@ -0,0 +1,2 @@\n"
      + "+added line 1\n"
      + "+added line 2\n"
      + "Index: sample3-not-included\n"
      + "===================================================================\n"
      + "--- a/sample3-not-included\n"
      + "+++ b/sample3-not-included\n"
      + "@@ -0,0 +1,2 @@\n"
      + "+added line 1\n"
      + "+added line 2\n"
      + "Index: sample4\n"
      + "===================================================================\n"
      + "--- a/sample4\n"
      + "+++ b/sample4\n"
      + "@@ -1 +1,3 @@\n"
      + " same line\n"
      + "+added line 1\n"
      + "+added line 2\n";

    printDiff(example);
    Map<Path, Set<Integer>> expected = new HashMap<>();
    expected.put(rootBaseDir.resolve("sample2"), Collections.singleton(1));
    expected.put(rootBaseDir.resolve("sample3"), new HashSet<>(Arrays.asList(1, 2)));
    expected.put(rootBaseDir.resolve("sample4"), new HashSet<>(Arrays.asList(2, 3)));

    assertThat(underTest.changedLines()).isEqualTo(expected);
  }