70 lines
2.1 KiB
Java
70 lines
2.1 KiB
Java
package jmri.jmrix.rps.csvinput;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
|
|
import java.io.File;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.util.List;
|
|
|
|
import jmri.util.JUnitUtil;
|
|
|
|
import org.apache.commons.csv.CSVFormat;
|
|
import org.apache.commons.csv.CSVParser;
|
|
import org.apache.commons.csv.CSVRecord;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
|
|
/**
|
|
* Tests for the jmri.jmrix.rps.csvinput package.
|
|
*
|
|
* @author Bob Jacobsen Copyright 2006
|
|
*/
|
|
public class CsvTest {
|
|
|
|
@Test
|
|
public void testCreateReader() throws java.io.IOException {
|
|
var format = CSVFormat.DEFAULT;
|
|
format.builder().setSkipHeaderRecord(true);
|
|
CSVParser parser = CSVParser.parse(new File("java/test/jmri/jmrix/rps/csvinput/testdata.csv"),
|
|
StandardCharsets.UTF_8, format);
|
|
assertNotNull( parser, "exists");
|
|
}
|
|
|
|
@Test
|
|
public void testReading() throws java.io.IOException {
|
|
CSVParser parser = CSVParser.parse(new File("java/test/jmri/jmrix/rps/csvinput/testdata.csv"),
|
|
StandardCharsets.UTF_8, CSVFormat.DEFAULT);
|
|
List<CSVRecord> records = parser.getRecords();
|
|
assertEquals( 2, records.size(), "2 lines");
|
|
|
|
CSVRecord record = records.get(0);
|
|
assertNotNull( record, "read 1st line");
|
|
assertEquals( 4, record.size(), "1st line column count");
|
|
|
|
assertEquals( "1", record.get(0), "1st line datum 1");
|
|
assertEquals( "2", record.get(1), "1st line datum 2");
|
|
assertEquals( "3", record.get(2), "1st line datum 3");
|
|
assertEquals( "4", record.get(3), "1st line datum 4");
|
|
|
|
record = records.get(1);
|
|
assertNotNull( record, "read 2nd line");
|
|
|
|
assertEquals( "4", record.get(0), "2nd line datum 1");
|
|
assertEquals( "3", record.get(1), "2nd line datum 2");
|
|
assertEquals( "2", record.get(2), "2nd line datum 3");
|
|
assertEquals( "1", record.get(3), "2nd line datum 4");
|
|
}
|
|
|
|
@BeforeEach
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
}
|