mirror of
https://github.com/java-diff-utils/java-diff-utils.git
synced 2026-03-13 10:11:17 +08:00
This commit is contained in:
@@ -75,6 +75,7 @@ public class ChangeDelta<T> extends Delta<T> {
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void verify(List<T> target) throws PatchFailedException {
|
||||
getOriginal().verify(target);
|
||||
if (getOriginal().getPosition() > target.size()) {
|
||||
|
||||
@@ -15,6 +15,7 @@ public class DeltaComparator implements Comparator<Delta<?>>, Serializable {
|
||||
private DeltaComparator() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compare(final Delta<?> a, final Delta<?> b) {
|
||||
final int posA = a.getOriginal().getPosition();
|
||||
final int posB = b.getOriginal().getPosition();
|
||||
|
||||
@@ -163,6 +163,7 @@ public class DiffRowGenerator {
|
||||
inlineNewCssClass = builder.inlineNewCssClass;
|
||||
columnWidth = builder.columnWidth; //
|
||||
equalizer = new Equalizer<String>() {
|
||||
@Override
|
||||
public boolean equals(String original, String revised) {
|
||||
if (ignoreWhiteSpaces) {
|
||||
original = original.trim().replaceAll("\\s+", " ");
|
||||
|
||||
@@ -46,7 +46,7 @@ public final class DiffUtils {
|
||||
* {@code null}.
|
||||
*/
|
||||
public static <T> Patch<T> diff(List<T> original, List<T> revised) {
|
||||
return DiffUtils.diff(original, revised, new MyersDiff<T>());
|
||||
return DiffUtils.diff(original, revised, new MyersDiff<>());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,7 +67,7 @@ public final class DiffUtils {
|
||||
return DiffUtils.diff(original, revised,
|
||||
new MyersDiff<>(equalizer));
|
||||
}
|
||||
return DiffUtils.diff(original, revised, new MyersDiff<T>());
|
||||
return DiffUtils.diff(original, revised, new MyersDiff<>());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -71,6 +71,7 @@ public class InsertDelta<T> extends Delta<T> {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public TYPE getType() {
|
||||
return Delta.TYPE.INSERT;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@ public final class DiffNode extends PathNode {
|
||||
*
|
||||
* @return false, always
|
||||
*/
|
||||
@Override
|
||||
public boolean isSnake() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -79,6 +79,7 @@ public class MyersDiff<T> implements DiffAlgorithm<T> {
|
||||
* Default equalizer.
|
||||
*/
|
||||
private final Equalizer<T> DEFAULT_EQUALIZER = new Equalizer<T>() {
|
||||
@Override
|
||||
public boolean equals(final T original, final T revised) {
|
||||
return original.equals(revised);
|
||||
}
|
||||
@@ -113,6 +114,7 @@ public class MyersDiff<T> implements DiffAlgorithm<T> {
|
||||
*
|
||||
* @return Returns an empty diff if get the error while procession the difference.
|
||||
*/
|
||||
@Override
|
||||
public Patch<T> diff(final T[] original, final T[] revised) {
|
||||
return diff(Arrays.asList(original), Arrays.asList(revised));
|
||||
}
|
||||
@@ -122,6 +124,7 @@ public class MyersDiff<T> implements DiffAlgorithm<T> {
|
||||
*
|
||||
* Return empty diff if get the error while procession the difference.
|
||||
*/
|
||||
@Override
|
||||
public Patch<T> diff(final List<T> original, final List<T> revised) {
|
||||
if (original == null) {
|
||||
throw new IllegalArgumentException("original list must not be null");
|
||||
|
||||
@@ -86,6 +86,7 @@ public final class Snake extends PathNode {
|
||||
*
|
||||
* @return true always
|
||||
*/
|
||||
@Override
|
||||
public boolean isSnake() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -52,14 +52,14 @@ public class DiffUtilsTest {
|
||||
|
||||
@Test
|
||||
public void testDiff_EmptyList() {
|
||||
final Patch<String> patch = DiffUtils.diff(new ArrayList<String>(), new ArrayList<String>());
|
||||
final Patch<String> patch = DiffUtils.diff(new ArrayList<>(), new ArrayList<>());
|
||||
assertNotNull(patch);
|
||||
assertEquals(0, patch.getDeltas().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDiff_EmptyListWithNonEmpty() {
|
||||
final Patch<String> patch = DiffUtils.diff(new ArrayList<String>(), Arrays.asList("aaa"));
|
||||
final Patch<String> patch = DiffUtils.diff(new ArrayList<>(), Arrays.asList("aaa"));
|
||||
assertNotNull(patch);
|
||||
assertEquals(1, patch.getDeltas().size());
|
||||
final Delta<String> delta = patch.getDeltas().get(0);
|
||||
|
||||
Reference in New Issue
Block a user