package no.difi.datahotel.util;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.lang.reflect.Field;
import no.difi.datahotel.BaseTest;
import org.junit.Test;
public class CSVReaderTest extends BaseTest {
@SuppressWarnings("deprecation")
@Test
public void readArraySemi() throws Exception {
File file = new File(this.getClass().getResource("/csv/simple-semikolon.csv").getFile());
CSVReader parser = new CSVReader(file);
String[] row;
assertEquals(new String[] { "id", "name", "age" }, parser.getHeaders());
assertTrue(parser.hasNext());
row = parser.getNextLineArray();
assertEquals("Ole", row[1]);
assertEquals("1", row[0]);
assertEquals("3", row[2]);
assertTrue(parser.hasNext());
assertTrue(parser.hasNext());
row = parser.getNextLineArray();
assertEquals("Nils", row[1]);
assertEquals("3", row[0]);
assertEquals("6", row[2]);
assertFalse(parser.hasNext());
parser.close();
}
@Test
public void testHasNextError() throws Exception {
File file = new File(this.getClass().getResource("/csv/simple-semikolon.csv").getFile());
CSVReader parser = new CSVReader(file);
assertTrue(parser.hasNext());
Field rField = CSVReader.class.getDeclaredField("csvReader");
rField.setAccessible(true);
rField.set(parser, null);
assertFalse(parser.hasNext());
}
}