You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2010/10/15 00:24:08 UTC
svn commit: r1022739 -
/commons/proper/io/trunk/src/test/java/org/apache/commons/io/LineIteratorTestCase.java
Author: ggregory
Date: Thu Oct 14 22:24:08 2010
New Revision: 1022739
URL: http://svn.apache.org/viewvc?rev=1022739&view=rev
Log:
Improve unit test code coverage.
Modified:
commons/proper/io/trunk/src/test/java/org/apache/commons/io/LineIteratorTestCase.java
Modified: commons/proper/io/trunk/src/test/java/org/apache/commons/io/LineIteratorTestCase.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/java/org/apache/commons/io/LineIteratorTestCase.java?rev=1022739&r1=1022738&r2=1022739&view=diff
==============================================================================
--- commons/proper/io/trunk/src/test/java/org/apache/commons/io/LineIteratorTestCase.java (original)
+++ commons/proper/io/trunk/src/test/java/org/apache/commons/io/LineIteratorTestCase.java Thu Oct 14 22:24:08 2010
@@ -43,6 +43,50 @@ public class LineIteratorTestCase extend
super(name);
}
+ private void assertLines(List<String> lines, LineIterator iterator) {
+ try {
+ for (int i = 0; i < lines.size(); i++) {
+ String line = iterator.nextLine();
+ assertEquals("nextLine() line " + i, lines.get(i), line);
+ }
+ assertFalse("No more expected", iterator.hasNext());
+ } finally {
+ LineIterator.closeQuietly(iterator);
+ }
+ }
+
+ /**
+ * Creates a test file with a specified number of lines.
+ */
+ private List<String> createLinesFile(File file, int lineCount) throws Exception {
+ List<String> lines = createStringLines(lineCount);
+ FileUtils.writeLines(file, lines);
+ return lines;
+ }
+
+ /**
+ * Creates a test file with a specified number of lines.
+ */
+ private List<String> createLinesFile(File file, String encoding, int lineCount) throws Exception {
+ List<String> lines = createStringLines(lineCount);
+ FileUtils.writeLines(file, encoding, lines);
+ return lines;
+ }
+
+ /**
+ * Creates String data lines.
+ *
+ * @param lineCount
+ * @return a new lines list.
+ */
+ private List<String> createStringLines(int lineCount) {
+ List<String> lines = new ArrayList<String>();
+ for (int i = 0; i < lineCount; i++) {
+ lines.add("LINE " + i);
+ }
+ return lines;
+ }
+
/** @see junit.framework.TestCase#setUp() */
@Override
protected void setUp() throws Exception {
@@ -125,7 +169,7 @@ public class LineIteratorTestCase extend
String encoding = "UTF-8";
File testFile = new File(getTestDirectory(), "LineIterator-validEncoding.txt");
- createFile(testFile, encoding, 3);
+ createLinesFile(testFile, encoding, 3);
LineIterator iterator = FileUtils.lineIterator(testFile, encoding);
try {
@@ -147,7 +191,7 @@ public class LineIteratorTestCase extend
String encoding = "XXXXXXXX";
File testFile = new File(getTestDirectory(), "LineIterator-invalidEncoding.txt");
- createFile(testFile, "UTF-8", 3);
+ createLinesFile(testFile, "UTF-8", 3);
LineIterator iterator = null;
try {
@@ -161,13 +205,37 @@ public class LineIteratorTestCase extend
}
/**
+ * Test the iterator using only the nextLine() method.
+ */
+ public void testNextLineOnlyDefaultEncoding() throws Exception {
+ File testFile = new File(getTestDirectory(), "LineIterator-nextOnly.txt");
+ List<String> lines = createLinesFile(testFile, 3);
+
+ LineIterator iterator = FileUtils.lineIterator(testFile);
+ assertLines(lines, iterator);
+ }
+
+ /**
+ * Test the iterator using only the nextLine() method.
+ */
+ public void testNextLineOnlyWithEncoding() throws Exception {
+ String encoding = null;
+
+ File testFile = new File(getTestDirectory(), "LineIterator-nextOnly.txt");
+ List<String> lines = createLinesFile(testFile, encoding, 3);
+
+ LineIterator iterator = FileUtils.lineIterator(testFile, encoding);
+ assertLines(lines, iterator);
+ }
+
+ /**
* Test the iterator using only the next() method.
*/
public void testNextOnly() throws Exception {
String encoding = null;
File testFile = new File(getTestDirectory(), "LineIterator-nextOnly.txt");
- List<String> lines = createFile(testFile, encoding, 3);
+ List<String> lines = createLinesFile(testFile, encoding, 3);
LineIterator iterator = FileUtils.lineIterator(testFile, encoding);
try {
@@ -200,34 +268,13 @@ public class LineIteratorTestCase extend
}
/**
- * Test the iterator using only the nextLine() method.
- */
- public void testNextLineOnly() throws Exception {
- String encoding = null;
-
- File testFile = new File(getTestDirectory(), "LineIterator-nextOnly.txt");
- List<String> lines = createFile(testFile, encoding, 3);
-
- LineIterator iterator = FileUtils.lineIterator(testFile, encoding);
- try {
- for (int i = 0; i < lines.size(); i++) {
- String line = iterator.nextLine();
- assertEquals("nextLine() line " + i, lines.get(i), line);
- }
- assertFalse("No more expected", iterator.hasNext());
- } finally {
- LineIterator.closeQuietly(iterator);
- }
- }
-
- /**
* Test closing the iterator before all the file has been processed.
*/
public void testCloseEarly() throws Exception {
String encoding = "UTF-8";
File testFile = new File(getTestDirectory(), "LineIterator-closeEarly.txt");
- createFile(testFile, encoding, 3);
+ createLinesFile(testFile, encoding, 3);
LineIterator iterator = FileUtils.lineIterator(testFile, encoding);
try {
@@ -278,7 +325,7 @@ public class LineIteratorTestCase extend
String fileName = "LineIterator-" + lineCount + "-test.txt";
File testFile = new File(getTestDirectory(), fileName);
- List<String> lines = createFile(testFile, encoding, lineCount);
+ List<String> lines = createLinesFile(testFile, encoding, lineCount);
LineIterator iterator = FileUtils.lineIterator(testFile, encoding);
try {
@@ -316,25 +363,13 @@ public class LineIteratorTestCase extend
}
}
- /**
- * Utility method to create a test file with a specified number of lines.
- */
- private List<String> createFile(File file, String encoding, int lineCount) throws Exception {
- List<String> lines = new ArrayList<String>();
- for (int i = 0; i < lineCount; i++) {
- lines.add("LINE " + i);
- }
- FileUtils.writeLines(file, encoding, lines);
- return lines;
- }
-
// -----------------------------------------------------------------------
public void testFilteringFileReader() throws Exception {
String encoding = "UTF-8";
String fileName = "LineIterator-Filter-test.txt";
File testFile = new File(getTestDirectory(), fileName);
- List<String> lines = createFile(testFile, encoding, 9);
+ List<String> lines = createLinesFile(testFile, encoding, 9);
Reader reader = new FileReader(testFile);
this.testFiltering(lines, reader);
@@ -345,7 +380,7 @@ public class LineIteratorTestCase extend
String fileName = "LineIterator-Filter-test.txt";
File testFile = new File(getTestDirectory(), fileName);
- List<String> lines = createFile(testFile, encoding, 9);
+ List<String> lines = createLinesFile(testFile, encoding, 9);
Reader reader = new BufferedReader(new FileReader(testFile));
this.testFiltering(lines, reader);