Package org.assertj.core.util.diff
Class DiffUtils
java.lang.Object
org.assertj.core.util.diff.DiffUtils
Copy from https://code.google.com/p/java-diff-utils/.
Implements the difference and patching engine
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> Patch<T> Computes the difference between the original and revised list of elements with default diff algorithmstatic <T> Patch<T> diff(List<T> original, List<T> revised, DiffAlgorithm<T> algorithm) Computes the difference between the original and revised list of elements with default diff algorithmgenerateUnifiedDiff(String original, String revised, List<String> originalLines, Patch<String> patch, int contextSize) generateUnifiedDiff takes a Patch and some other arguments, returning the Unified Diff format text representing the Patch.getDeltaText(Delta<String> delta) getDeltaText returns the lines to be added to the Unified Diff text from the Delta parameterparseUnifiedDiff(List<String> diff) Parse the given text in unified format and creates the list of deltas for it.static <T> List<T> Patch the original text with given patchprocessDeltas takes a list of Deltas and outputs them together in a single block of Unified-Diff-format text.
-
Field Details
-
unifiedDiffChunkRe
-
-
Constructor Details
-
DiffUtils
public DiffUtils()
-
-
Method Details
-
diff
Computes the difference between the original and revised list of elements with default diff algorithm- Type Parameters:
T- the type of elements.- Parameters:
original- The original text. Must not benull.revised- The revised text. Must not benull.- Returns:
- The patch describing the difference between the original and
revised sequences. Never
null.
-
diff
Computes the difference between the original and revised list of elements with default diff algorithm- Type Parameters:
T- the type of elements.- Parameters:
original- The original text. Must not benull.revised- The revised text. Must not benull.algorithm- The diff algorithm. Must not benull.- Returns:
- The patch describing the difference between the original and
revised sequences. Never
null.
-
patch
Patch the original text with given patch- Type Parameters:
T- the type of elements.- Parameters:
original- the original textpatch- the given patch- Returns:
- the revised text
- Throws:
IllegalStateException- if can't apply patch
-
parseUnifiedDiff
Parse the given text in unified format and creates the list of deltas for it.- Parameters:
diff- the text in unified format- Returns:
- the patch with deltas.
-
generateUnifiedDiff
public static List<String> generateUnifiedDiff(String original, String revised, List<String> originalLines, Patch<String> patch, int contextSize) generateUnifiedDiff takes a Patch and some other arguments, returning the Unified Diff format text representing the Patch.- Parameters:
original- Filename of the original (unrevised file)revised- Filename of the revised fileoriginalLines- Lines of the original filepatch- Patch created by the diff() functioncontextSize- number of lines of context output around each difference in the file.- Returns:
- List of strings representing the Unified Diff representation of the Patch argument.
-
processDeltas
private static List<String> processDeltas(List<String> origLines, List<Delta<String>> deltas, int contextSize) processDeltas takes a list of Deltas and outputs them together in a single block of Unified-Diff-format text.- Parameters:
origLines- the lines of the original filedeltas- the Deltas to be output as a single blockcontextSize- the number of lines of context to place around block- Returns:
- the Unified-Diff-format text
-
getDeltaText
getDeltaText returns the lines to be added to the Unified Diff text from the Delta parameter- Parameters:
delta- the Delta to output- Returns:
- list of String lines of code.
-