package org.yajul.io; import junit.framework.TestCase; import java.io.*; /** * Tests FileUtil.tail * <br>User: jdavis * Date: Sep 17, 2006 * Time: 11:47:42 AM */ public class TailTest extends TestCase { public void testTail() throws Exception { // Create a file with 300 lines. File f = new File("temp.txt"); PrintWriter pw = new PrintWriter(new FileWriter(f, false)); int totalLines = 300; for (int i = 0; i < totalLines; i++) { pw.println("this is line " + i); } pw.close(); // Tail the last three. StringWriter sw = new StringWriter(); int tailLines = 3; FileUtil.tail(tailLines, f, sw); sw.close(); String tail = sw.toString(); LineNumberReader r = new LineNumberReader(new StringReader(tail)); String line; int lines = 0; int expectedLine = totalLines - tailLines; while ((line = r.readLine()) != null) { TestCase.assertEquals("this is line " + expectedLine, line); lines++; expectedLine++; } TestCase.assertEquals(tailLines, lines); } }