Class DiffUtils

java.lang.Object
org.assertj.core.util.diff.DiffUtils

public class DiffUtils extends Object
Copy from https://code.google.com/p/java-diff-utils/.

Implements the difference and patching engine

Author:
Dmitry Naumenko, Bill James ([email protected])
  • Constructor Details

    • DiffUtils

      public DiffUtils()
  • Method Details

    • diff

      public static <T> Patch<T> diff(List<T> original, List<T> revised)
      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 be null.
      revised - The revised text. Must not be null.
      Returns:
      The patch describing the difference between the original and revised sequences. Never null.
    • diff

      public static <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 algorithm
      Type Parameters:
      T - the type of elements.
      Parameters:
      original - The original text. Must not be null.
      revised - The revised text. Must not be null.
      algorithm - The diff algorithm. Must not be null.
      Returns:
      The patch describing the difference between the original and revised sequences. Never null.
    • patch

      public static <T> List<T> patch(List<T> original, Patch<T> patch) throws IllegalStateException
      Patch the original text with given patch
      Type Parameters:
      T - the type of elements.
      Parameters:
      original - the original text
      patch - the given patch
      Returns:
      the revised text
      Throws:
      IllegalStateException - if can't apply patch
    • parseUnifiedDiff

      public static Patch<String> parseUnifiedDiff(List<String> diff)
      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 file
      originalLines - Lines of the original file
      patch - Patch created by the diff() function
      contextSize - 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.