Fetch merge test data from other tool(s)
Automatic testing of the integrity of diff is simple: if ´patch(a, diff(a, b)) == b´ then the diff is correct.
Automatic testing of the quality of diff is more of an art, as there is no unique solution to the problem. Still the integrity is the most important and quality we can iterate on.
Automatic testing of the integrity of merge is crucial and hard. Reusing a regression test data set from existing merge tools would be a major time saver and reassuring as to the quality of our final tools.
To do:
- Investigate what's out there of such data
- Integrate in our test suite somehow
For example, creating a single-cell notebook with source code from such test data will test the basic line-based merge tools. In addition, we can generate test cases by e.g. splitting test data into multiple cells by a random partitioning of the lines. This is of course in addition to hand-crafted test cases.