package org.supercsv.io; import java.io.IOException; import java.io.StringReader; import junit.framework.Assert; import org.junit.Before; import org.junit.Test; import org.supercsv.exception.SuperCSVException; import org.supercsv.prefs.CsvPreference; /** * @author Kasper B. Graversen */ public class AbstractCsvReaderTest { StringReader r; CsvListReader csvr; CsvPreference prefs; /** testing general functionality */ @Test public void generalTest() throws IOException { csvr.read(); Assert.assertEquals("get test", "aa", csvr.get(0)); Assert.assertEquals("get test", "eeee", csvr.get(4)); Assert.assertEquals("length test", 5, csvr.length()); csvr.read(); Assert.assertEquals("length test", 4, csvr.length()); csvr.close(); } @Test(expected = SuperCSVException.class) public void headerErrorTest() throws IOException { csvr.getCSVHeader(true); csvr.getCSVHeader(true); // cannot fetch header twice } public void headerTest() throws IOException { csvr.getCSVHeader(false); csvr.getCSVHeader(false); // can fetch header twice } @Test(expected = RuntimeException.class) public void setInputErrorTest() { csvr.setInput(null); } @Before public void setUp() { r = new StringReader("aa,b,ccc,dd,eeee\nkk,l,mmm,nnnn\n"); prefs = new CsvPreference('"', ',', "\n"); csvr = new CsvListReader(r, prefs); } }