From 882f3f7e1e6a714b09e2cf2965972ad659c32606 Mon Sep 17 00:00:00 2001 From: "simon.mittermueller@gmail.com" Date: Mon, 4 Mar 2013 11:19:43 +0000 Subject: [PATCH] Introduced generic type to some tests. Close IO streams in tests. --- src/main/java/difflib/Chunk.java | 2 +- src/main/java/difflib/DiffRowGenerator.java | 2 - .../diffutils/GenerateUnifiedDiffTest.java | 36 +++++++++------ src/test/java/diffutils/PatchTest.java | 6 +-- .../java/diffutils/examples/ApplyPatch.java | 4 +- src/test/java/diffutils/examples/Example.java | 44 ++++++++++++------- 6 files changed, 56 insertions(+), 38 deletions(-) diff --git a/src/main/java/difflib/Chunk.java b/src/main/java/difflib/Chunk.java index 53a4759..bbc332c 100644 --- a/src/main/java/difflib/Chunk.java +++ b/src/main/java/difflib/Chunk.java @@ -139,7 +139,7 @@ public class Chunk { return false; if (getClass() != obj.getClass()) return false; - Chunk other = (Chunk) obj; + Chunk other = (Chunk) obj; if (lines == null) { if (other.lines != null) return false; diff --git a/src/main/java/difflib/DiffRowGenerator.java b/src/main/java/difflib/DiffRowGenerator.java index 8fbbb26..d6ffb6b 100644 --- a/src/main/java/difflib/DiffRowGenerator.java +++ b/src/main/java/difflib/DiffRowGenerator.java @@ -209,7 +209,6 @@ public class DiffRowGenerator { * @param patch the given patch * @return the DiffRows between original and revised texts */ - @SuppressWarnings("unchecked") public List generateDiffRows(List original, List revised, Patch patch) { // normalize the lines (expand tabs, escape html entities) original = StringUtills.normalize(original); @@ -291,7 +290,6 @@ public class DiffRowGenerator { * Add the inline diffs for given delta * @param delta the given delta */ - @SuppressWarnings("unchecked") private void addInlineDiffs(Delta delta) { List orig = (List) delta.getOriginal().getLines(); List rev = (List) delta.getRevised().getLines(); diff --git a/src/test/java/diffutils/GenerateUnifiedDiffTest.java b/src/test/java/diffutils/GenerateUnifiedDiffTest.java index fcc82c1..64432db 100644 --- a/src/test/java/diffutils/GenerateUnifiedDiffTest.java +++ b/src/test/java/diffutils/GenerateUnifiedDiffTest.java @@ -1,12 +1,6 @@ package diffutils; -import difflib.DiffUtils; -import difflib.Patch; -import difflib.PatchFailedException; -import junit.framework.TestCase; - import java.io.BufferedReader; -import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; @@ -14,21 +8,36 @@ import java.util.Arrays; import java.util.LinkedList; import java.util.List; +import junit.framework.TestCase; +import difflib.DiffUtils; +import difflib.Patch; +import difflib.PatchFailedException; + public class GenerateUnifiedDiffTest extends TestCase { public List fileToLines(String filename) { List lines = new LinkedList(); String line = ""; + BufferedReader in = null; try { - BufferedReader in = new BufferedReader(new FileReader(filename)); + in = new BufferedReader(new FileReader(filename)); while ((line = in.readLine()) != null) { lines.add(line); } } catch (IOException e) { e.printStackTrace(); fail(e.getMessage()); - } + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + // ignore ... any errors should already have been + // reported via an IOException from the final flush. + } + } + } return lines; } @@ -48,14 +57,14 @@ public class GenerateUnifiedDiffTest extends TestCase { public void testGenerateUnifiedDiffWithoutAnyDeltas() { List test = Arrays.asList("abc"); - Patch patch = DiffUtils.diff(test, test); + Patch patch = DiffUtils.diff(test, test); DiffUtils.generateUnifiedDiff("abc", "abc", test, patch, 0); } public void testDiff_Issue10() { final List baseLines = fileToLines(TestConstants.MOCK_FOLDER + "issue10_base.txt"); final List patchLines = fileToLines(TestConstants.MOCK_FOLDER + "issue10_patch.txt"); - final Patch p = DiffUtils.parseUnifiedDiff(patchLines); + final Patch p = DiffUtils.parseUnifiedDiff(patchLines); try { DiffUtils.patch(baseLines, p); } catch (PatchFailedException e) { @@ -96,20 +105,19 @@ public class GenerateUnifiedDiffTest extends TestCase { revised.add("test line 4"); revised.add("test line 5"); - Patch patch = DiffUtils.diff(original, revised); + Patch patch = DiffUtils.diff(original, revised); List udiff = DiffUtils.generateUnifiedDiff("original", "revised", original, patch, 10); DiffUtils.parseUnifiedDiff(udiff); } - @SuppressWarnings("unchecked") private void verify(List origLines, List revLines, String originalFile, String revisedFile) { - Patch patch = DiffUtils.diff(origLines, revLines); + Patch patch = DiffUtils.diff(origLines, revLines); List unifiedDiff = DiffUtils.generateUnifiedDiff(originalFile, revisedFile, origLines, patch, 10); - Patch fromUnifiedPatch = DiffUtils.parseUnifiedDiff(unifiedDiff); + Patch fromUnifiedPatch = DiffUtils.parseUnifiedDiff(unifiedDiff); List patchedLines; try { patchedLines = (List) fromUnifiedPatch.applyTo(origLines); diff --git a/src/test/java/diffutils/PatchTest.java b/src/test/java/diffutils/PatchTest.java index 38ca2f4..b6b4d74 100644 --- a/src/test/java/diffutils/PatchTest.java +++ b/src/test/java/diffutils/PatchTest.java @@ -14,7 +14,7 @@ public class PatchTest extends TestCase { final List insertTest_from = Arrays.asList("hhh"); final List insertTest_to = Arrays.asList("hhh", "jjj", "kkk", "lll"); - final Patch patch = DiffUtils.diff(insertTest_from, insertTest_to); + final Patch patch = DiffUtils.diff(insertTest_from, insertTest_to); try { assertEquals(insertTest_to, DiffUtils.patch(insertTest_from, patch)); } catch (PatchFailedException e) { @@ -26,7 +26,7 @@ public class PatchTest extends TestCase { final List deleteTest_from = Arrays.asList("ddd", "fff", "ggg", "hhh"); final List deleteTest_to = Arrays.asList("ggg"); - final Patch patch = DiffUtils.diff(deleteTest_from, deleteTest_to); + final Patch patch = DiffUtils.diff(deleteTest_from, deleteTest_to); try { assertEquals(deleteTest_to, DiffUtils.patch(deleteTest_from, patch)); } catch (PatchFailedException e) { @@ -38,7 +38,7 @@ public class PatchTest extends TestCase { final List changeTest_from = Arrays.asList("aaa", "bbb", "ccc", "ddd"); final List changeTest_to = Arrays.asList("aaa", "bxb", "cxc", "ddd"); - final Patch patch = DiffUtils.diff(changeTest_from, changeTest_to); + final Patch patch = DiffUtils.diff(changeTest_from, changeTest_to); try { assertEquals(changeTest_to, DiffUtils.patch(changeTest_from, patch)); } catch (PatchFailedException e) { diff --git a/src/test/java/diffutils/examples/ApplyPatch.java b/src/test/java/diffutils/examples/ApplyPatch.java index c9ed42a..7ec1b45 100644 --- a/src/test/java/diffutils/examples/ApplyPatch.java +++ b/src/test/java/diffutils/examples/ApplyPatch.java @@ -17,10 +17,10 @@ public class ApplyPatch extends Example { List patched = fileToLines(PATCH); // At first, parse the unified diff file and get the patch - Patch patch = DiffUtils.parseUnifiedDiff(patched); + Patch patch = DiffUtils.parseUnifiedDiff(patched); // Then apply the computed patch to the given text - List result = DiffUtils.patch(original, patch); + List result = DiffUtils.patch(original, patch); System.out.println(result); // / Or we can call patch.applyTo(original). There is no difference. } diff --git a/src/test/java/diffutils/examples/Example.java b/src/test/java/diffutils/examples/Example.java index 825c0b2..28526cb 100644 --- a/src/test/java/diffutils/examples/Example.java +++ b/src/test/java/diffutils/examples/Example.java @@ -8,28 +8,40 @@ import java.util.LinkedList; import java.util.List; public abstract class Example { - + /** File separator. */ protected static final String FS = File.separator; /** The base resource path. */ protected static String BASE_PATH = "src" + FS + "test" + FS + "resources"; - + /** * Tries to read the file and split it into a list of lines. - * @param filename The filename as path. + * + * @param filename + * The filename as path. * @return A list of lines. */ - public static List fileToLines(String filename) { - List lines = new LinkedList(); - String line = ""; - try { - BufferedReader in = new BufferedReader(new FileReader(filename)); - while ((line = in.readLine()) != null) { - lines.add(line); - } - } catch (IOException e) { - e.printStackTrace(); - } - return lines; - } + public static List fileToLines(String filename) { + List lines = new LinkedList(); + String line = ""; + BufferedReader in = null; + try { + in = new BufferedReader(new FileReader(filename)); + while ((line = in.readLine()) != null) { + lines.add(line); + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + // ignore ... any errors should already have been + // reported via an IOException from the final flush. + } + } + } + return lines; + } }