Skip to content

Commit

Permalink
clean-up of code copied from com.googlecode.java-diff-utils: use asse…
Browse files Browse the repository at this point in the history
…rtj assertions and test utils, use junit4, other small clean-ups
  • Loading branch information
joel-costigliola committed Dec 16, 2015
1 parent c6ac48a commit a2e66dc
Show file tree
Hide file tree
Showing 15 changed files with 159 additions and 213 deletions.
1 change: 0 additions & 1 deletion src/main/java/org/assertj/core/util/diff/DiffUtils.java
Expand Up @@ -26,7 +26,6 @@
* Implements the difference and patching engine
*
* @author <a href="dm.naumenko@gmail.com">Dmitry Naumenko</a>
* @version 0.4.1
*/
public class DiffUtils {

Expand Down
Expand Up @@ -27,9 +27,9 @@
* by a single {@link DiffNode DiffNodes}.
*
* @author <a href="mailto:juanco@suigeneris.org">Juanco Anez</a>
*
*/
public final class DiffNode extends PathNode {

/**
* Constructs a DiffNode.
* <p>
Expand Down
Expand Up @@ -37,6 +37,7 @@
* @param <T> The type of the compared elements in the 'lines'.
*/
public class MyersDiff<T> implements DiffAlgorithm<T> {

/** The equalizer. */
private final Equalizer<T> equalizer;

Expand Down
Expand Up @@ -21,9 +21,9 @@
*
* @see DiffNode
* @see Snake
*
*/
public abstract class PathNode {

/** Position in the original sequence. */
public final int i;
/** Position in the revised sequence. */
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/assertj/core/util/diff/myers/Snake.java
Expand Up @@ -24,9 +24,9 @@
* by a single {@link DiffNode DiffNodes}.
*
* @author <a href="mailto:juanco@suigeneris.org">Juanco Anez</a>
*
*/
public final class Snake extends PathNode {

/**
* Constructs a snake node.
*
Expand Down
Expand Up @@ -13,13 +13,13 @@
package org.assertj.core.error;

import static java.lang.String.format;
import static java.nio.charset.Charset.defaultCharset;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.error.ShouldHaveContent.shouldHaveContent;
import static org.assertj.core.presentation.StandardRepresentation.STANDARD_REPRESENTATION;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import java.nio.charset.Charset;
import java.util.List;

import org.assertj.core.description.TextDescription;
Expand All @@ -40,12 +40,13 @@ public void should_create_error_message() {
when(delta.toString()).thenReturn(DIFF);
List<Delta<String>> diffs = Lists.newArrayList(delta);

ErrorMessageFactory factory = shouldHaveContent(file, Charset.defaultCharset(), diffs);
ErrorMessageFactory factory = shouldHaveContent(file, defaultCharset(), diffs);
String message = factory.create(new TextDescription("Test"), STANDARD_REPRESENTATION);
assertThat(message).isEqualTo(format("[Test] %n"
+ "File:%n"
+ " <xyz>%n"
+ "read with charset <UTF-8> does not have the expected content:%n"
+ DIFF));
+ "read with charset <%s> does not have the expected content:%n"
+ DIFF,
defaultCharset().name()));
}
}
34 changes: 0 additions & 34 deletions src/test/java/org/assertj/core/test/ParameterSource.java

This file was deleted.

11 changes: 6 additions & 5 deletions src/test/java/org/assertj/core/util/diff/ChangeDeltaTest.java
Expand Up @@ -16,16 +16,18 @@
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.junit.Test;

public class ChangeDeltaTest {
private static List<String> EMPTY_LIST = Collections.emptyList();

@Test
public void testGetType() throws Exception {
public void testGetType() {
// given
Chunk<String> chunk = new Chunk<>(1, new ArrayList<String>());
Chunk<String> chunk = new Chunk<>(1, EMPTY_LIST);
Delta<String> delta = new ChangeDelta<>(chunk, chunk);

// when
Expand All @@ -36,7 +38,7 @@ public void testGetType() throws Exception {
}

@Test
public void testToString() throws Exception {
public void testToString() {
// given
Chunk<String> chunk1 = new Chunk<>(0, asList("LINE1", "LINE2"));
Chunk<String> chunk2 = new Chunk<>(1, asList("line1", "line2"));
Expand All @@ -54,6 +56,5 @@ public void testToString() throws Exception {
+ "but was:%n"
+ " [\"line1\",%n"
+ " \"line2\"]%n"));

}
}
22 changes: 12 additions & 10 deletions src/test/java/org/assertj/core/util/diff/DeleteDeltaTest.java
Expand Up @@ -12,20 +12,22 @@
*/
package org.assertj.core.util.diff;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;

import static java.lang.String.format;
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;

import java.util.Collections;
import java.util.List;

import org.junit.Test;

public class DeleteDeltaTest {
private static List<String> EMPTY_LIST = Collections.emptyList();

@Test
public void testGetType() throws Exception {
public void testGetType() {
// given
Chunk<String> chunk = new Chunk<>(1, new ArrayList<String>());
Chunk<String> chunk = new Chunk<>(1, EMPTY_LIST);
Delta<String> delta = new DeleteDelta<>(chunk, chunk);

// when
Expand All @@ -36,10 +38,10 @@ public void testGetType() throws Exception {
}

@Test
public void testToString() throws Exception {
public void testToString() {
// given
Chunk<String> chunk1 = new Chunk<>(0, Arrays.asList("line1", "line2"));
Chunk<String> chunk2 = new Chunk<>(1, new ArrayList<String>());
Chunk<String> chunk1 = new Chunk<>(0, asList("line1", "line2"));
Chunk<String> chunk2 = new Chunk<>(1, EMPTY_LIST);
Delta<String> delta = new DeleteDelta<>(chunk1, chunk2);

// when
Expand Down
101 changes: 56 additions & 45 deletions src/test/java/org/assertj/core/util/diff/DiffTest.java
Expand Up @@ -12,59 +12,70 @@
*/
package org.assertj.core.util.diff;

import junit.framework.TestCase;
import static java.util.Collections.emptyList;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.util.Lists.newArrayList;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class DiffTest extends TestCase {
import org.junit.Test;

public void testDiff_Insert() {
final Patch<String> patch = DiffUtils.diff(Arrays.asList("hhh"), Arrays.asList("hhh", "jjj", "kkk"));
assertNotNull(patch);
assertEquals(1, patch.getDeltas().size());
final Delta<String> delta = patch.getDeltas().get(0);
assertEquals(InsertDelta.class, delta.getClass());
assertEquals(new Chunk<String>(1, Collections.<String> emptyList()), delta.getOriginal());
assertEquals(new Chunk<String>(1, Arrays.asList("jjj", "kkk")), delta.getRevised());
}
public class DiffTest {

public void testDiff_Delete() {
final Patch<String> patch = DiffUtils.diff(Arrays.asList("ddd", "fff", "ggg"), Arrays.asList("ggg"));
assertNotNull(patch);
assertEquals(1, patch.getDeltas().size());
final Delta<String> delta = patch.getDeltas().get(0);
assertEquals(DeleteDelta.class, delta.getClass());
assertEquals(new Chunk<String>(0, Arrays.asList("ddd", "fff")), delta.getOriginal());
assertEquals(new Chunk<String>(0, Collections.<String> emptyList()), delta.getRevised());
}
@Test
public void testDiff_Insert() {
Patch<String> patch = DiffUtils.diff(newArrayList("hhh"), newArrayList("hhh", "jjj", "kkk"));

public void testDiff_Change() {
final List<String> changeTest_from = Arrays.asList("aaa", "bbb", "ccc");
final List<String> changeTest_to = Arrays.asList("aaa", "zzz", "ccc");
List<Delta<String>> deltas = patch.getDeltas();
assertThat(deltas.size()).isEqualTo(1);
Delta<String> delta = deltas.get(0);
assertThat(delta).isInstanceOf(InsertDelta.class);
assertThat(delta.getOriginal()).isEqualTo(new Chunk<>(1, emptyList()));
assertThat(delta.getRevised()).isEqualTo(new Chunk<>(1, newArrayList("jjj", "kkk")));
}

final Patch<String> patch = DiffUtils.diff(changeTest_from, changeTest_to);
assertNotNull(patch);
assertEquals(1, patch.getDeltas().size());
final Delta<String> delta = patch.getDeltas().get(0);
assertEquals(ChangeDelta.class, delta.getClass());
assertEquals(new Chunk<String>(1, Arrays.asList("bbb")), delta.getOriginal());
assertEquals(new Chunk<String>(1, Arrays.asList("zzz")), delta.getRevised());
}
@Test
public void testDiff_Delete() {
Patch<String> patch = DiffUtils.diff(newArrayList("ddd", "fff", "ggg"), newArrayList("ggg"));

public void testDiff_EmptyList() {
final Patch<String> patch = DiffUtils.diff(new ArrayList<String>(), new ArrayList<String>());
assertNotNull(patch);
assertEquals(0, patch.getDeltas().size());
}
List<Delta<String>> deltas = patch.getDeltas();
assertThat(deltas.size()).isEqualTo(1);
Delta<String> delta = deltas.get(0);
assertThat(delta).isInstanceOf(DeleteDelta.class);
assertThat(delta.getOriginal()).isEqualTo(new Chunk<>(0, newArrayList("ddd", "fff")));
assertThat(delta.getRevised()).isEqualTo(new Chunk<>(0, emptyList()));
}

public void testDiff_EmptyListWithNonEmpty() {
final Patch<String> patch = DiffUtils.diff(new ArrayList<String>(), Arrays.asList("aaa"));
assertNotNull(patch);
assertEquals(1, patch.getDeltas().size());
final Delta<String> delta = patch.getDeltas().get(0);
assertEquals(InsertDelta.class, delta.getClass());
}
@Test
public void testDiff_Change() {
List<String> changeTest_from = newArrayList("aaa", "bbb", "ccc");
List<String> changeTest_to = newArrayList("aaa", "zzz", "ccc");

Patch<String> patch = DiffUtils.diff(changeTest_from, changeTest_to);

List<Delta<String>> deltas = patch.getDeltas();
assertThat(deltas.size()).isEqualTo(1);
Delta<String> delta = deltas.get(0);
assertThat(delta).isInstanceOf(ChangeDelta.class);
assertThat(delta.getOriginal()).isEqualTo(new Chunk<>(1, newArrayList("bbb")));
assertThat(delta.getRevised()).isEqualTo(new Chunk<>(1, newArrayList("zzz")));
}

@Test
public void testDiff_EmptyList() {
Patch<Object> patch = DiffUtils.diff(emptyList(), emptyList());

assertThat(patch.getDeltas().size()).isEqualTo(0);
}

@Test
public void testDiff_EmptyListWithNonEmpty() {
List<String> emptyList = Collections.emptyList();
Patch<String> patch = DiffUtils.diff(emptyList, newArrayList("aaa"));

List<Delta<String>> deltas = patch.getDeltas();
assertThat(deltas.size()).isEqualTo(1);
assertThat(deltas.get(0)).isInstanceOf(InsertDelta.class);
}
}

0 comments on commit a2e66dc

Please sign in to comment.