@Before public void setUp() throws Exception { final File dir = getTestDirectory(); if (dir.exists()) { FileUtils.deleteDirectory(dir); } dir.mkdirs(); }
@Test public void testFilteringBufferedReader() throws Exception { final String encoding = "UTF-8"; final String fileName = "LineIterator-Filter-test.txt"; final File testFile = new File(getTestDirectory(), fileName); final List<String> lines = createLinesFile(testFile, encoding, 9); final Reader reader = new BufferedReader(new FileReader(testFile)); this.testFiltering(lines, reader); }
@Test public void testFilteringFileReader() throws Exception { final String encoding = "UTF-8"; final String fileName = "LineIterator-Filter-test.txt"; final File testFile = new File(getTestDirectory(), fileName); final List<String> lines = createLinesFile(testFile, encoding, 9); final Reader reader = new FileReader(testFile); this.testFiltering(lines, reader); }
@Test public void testNextLineOnlyDefaultEncoding() throws Exception { final File testFile = new File(getTestDirectory(), "LineIterator-nextOnly.txt"); final List<String> lines = createLinesFile(testFile, 3); final LineIterator iterator = FileUtils.lineIterator(testFile); assertLines(lines, iterator); }
@Test public void testNextLineOnlyUtf8Encoding() throws Exception { final String encoding = "UTF-8"; final File testFile = new File(getTestDirectory(), "LineIterator-nextOnly.txt"); final List<String> lines = createLinesFile(testFile, encoding, 3); final LineIterator iterator = FileUtils.lineIterator(testFile, encoding); assertLines(lines, iterator); }
@Test public void testNextLineOnlyNullEncoding() throws Exception { final String encoding = null; final File testFile = new File(getTestDirectory(), "LineIterator-nextOnly.txt"); final List<String> lines = createLinesFile(testFile, encoding, 3); final LineIterator iterator = FileUtils.lineIterator(testFile, encoding); assertLines(lines, iterator); }
@Test public void testMissingFile() throws Exception { final File testFile = new File(getTestDirectory(), "dummy-missing-file.txt"); LineIterator iterator = null; try { iterator = FileUtils.lineIterator(testFile, "UTF-8"); fail("Expected FileNotFoundException"); } catch (final FileNotFoundException expected) { // ignore, expected result } finally { LineIterator.closeQuietly(iterator); } }
@Test public void testInvalidEncoding() throws Exception { final String encoding = "XXXXXXXX"; final File testFile = new File(getTestDirectory(), "LineIterator-invalidEncoding.txt"); createLinesFile(testFile, "UTF-8", 3); LineIterator iterator = null; try { iterator = FileUtils.lineIterator(testFile, encoding); fail("Expected UnsupportedCharsetException"); } catch (final UnsupportedCharsetException expected) { // ignore, expected result } finally { LineIterator.closeQuietly(iterator); } }
@Test public void testNextOnly() throws Exception { final String encoding = null; final File testFile = new File(getTestDirectory(), "LineIterator-nextOnly.txt"); final List<String> lines = createLinesFile(testFile, encoding, 3); final LineIterator iterator = FileUtils.lineIterator(testFile, encoding); try { for (int i = 0; i < lines.size(); i++) { final String line = iterator.next(); assertEquals("next() line " + i, lines.get(i), line); } assertEquals("No more expected", false, iterator.hasNext()); } finally { LineIterator.closeQuietly(iterator); } }
@Test public void testValidEncoding() throws Exception { final String encoding = "UTF-8"; final File testFile = new File(getTestDirectory(), "LineIterator-validEncoding.txt"); createLinesFile(testFile, encoding, 3); final LineIterator iterator = FileUtils.lineIterator(testFile, encoding); try { int count = 0; while (iterator.hasNext()) { assertNotNull(iterator.next()); count++; } assertEquals(3, count); } finally { LineIterator.closeQuietly(iterator); } }
final File testFile = new File(getTestDirectory(), fileName); final List<String> lines = createLinesFile(testFile, encoding, lineCount);
final String encoding = "UTF-8"; final File testFile = new File(getTestDirectory(), "LineIterator-closeEarly.txt"); createLinesFile(testFile, encoding, 3);