package textfile; import java.util.List; import junit.framework.TestCase; /* * Created on May 1, 2004. * */ /** * @author dickey */ public class DelimitedTextFileTest extends TestCase { /** * Constructor for DelimitedTextFileTest. * @param name */ public DelimitedTextFileTest(String name) { super(name); } /** To run this test, make sure first there IS a testdir directory. * Make sure there is no "bad" file anywhere, and make sure there * is the "good" file in the testdir. * * */ public static void testFindInCurrDir() { System.out.println("Start current dir test"); String currDirProp = "user.dir"; String testDir = "C:\\jtestdir"; String currDir; currDir = System.getProperty(currDirProp); assert currDir != null; currDir = System.setProperty(currDirProp, testDir); assert currDir != null; String checkDir = System.getProperty(currDirProp); assert checkDir.equals(testDir): currDir + " " + checkDir; String bad_tfilename = "nosuchx.txt"; System.out.println("For testing, CANCEL the next file choice."); DelimitedTextFile tf = new DelimitedTextFile(bad_tfilename); assert tf.readLineAsFieldArray() == null; String good_tfilename = "README.txt"; DelimitedTextFile tf2 = new DelimitedTextFile(good_tfilename); assert tf2.readLineAsFieldArray() != null; //this is the real test System.out.println("Found in current user dir: " + tf2.getFileName()); System.setProperty(currDirProp, currDir); System.out.println("End current dir test " + currDir + " " + testDir); } public void testFile() { try { new DelimitedTextFile(""); assert false; } catch (IllegalArgumentException e) { //that's expected } try { new DelimitedTextFile("notnull", ""); assert false; } catch (IllegalArgumentException e) { //that's expected } try { System.out.println("For test purposes, hit CANCEL"); DelimitedTextFile f = new DelimitedTextFile("C:"); assert f.getFileName() == null; //should be null, not an exception assert f.getLineNum() == 0; System.out.println(f); } catch (Exception e) { assert false; } try { System.out.println("For test purposes, choose a valid file"); DelimitedTextFile f = new DelimitedTextFile("C:"); assert f.getFileName() != null; assert f.getLineNum() == 0; System.out.println(f); } catch (Exception e) { assert false; } String fname; fname = "tabfile1.txt"; fname = "C:\\Documents and Settings\\dickey\\My Documents\\MDJava-common\\ClassProjects\\142-04sp\\assigment4Reader\\testfiles\\tabfile1.txt"; fname = "http://www.cs.washington.edu/education/courses/cse142/04sp/coursework/projects/p3/mvp4.txt"; //fname = "mvdataShortOriginal.txt"; //fname = "nosuchting"; { DelimitedTextFile df = new DelimitedTextFile(fname, "/"); assert df.getLineNum() == 0; System.out.println(df); String[] line1 = df.readLineAsFieldArray(); while (line1 != null) { assert df.getLineNum() > 0; System.out.println(line1); DelimitedTextReaderTest.arrayDump(line1); System.out.println(df); line1 = df.readLineAsFieldArray(); } } { //do it again, as a list DelimitedTextFile df = new DelimitedTextFile(fname, " "); System.out.println(df); List linelist = df.readLineAsFieldList(); while (linelist != null) { System.out.println(linelist); DelimitedTextReaderTest.arrayDump(linelist); System.out.println(df); linelist = df.readLineAsFieldList(); } } } }