package com.cwa.config;
import com.cwa.config.csv.CsvLoader;
import java.io.File;
import java.util.List;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class CsvLoaderTest {
private File csvFile;
@Before
public void initCsvFile() throws Exception {
csvFile = new File(CsvLoaderTest.class.getResource("/test.csv").toURI());
assertNotNull(csvFile);
}
@Test
public void loadCsvFail_missingCsvFileOrCsvSrc() throws Exception {
try {
CsvLoader.newLoader()
//.setCsvFile(csvFile)
.setSkipLines(1)
.setBeanClass(User.class)
.setColumnMapping(new String[] {"name", "age"})
.load();
fail("没抛异常!");
} catch (RuntimeException e) {
assertEquals("csvFile or csvSrc must to be set!", e.getMessage());
}
}
@Test
public void loadCsvFail_missingBeanClass() throws Exception {
try {
CsvLoader.newLoader()
.setCsvFile(csvFile)
.setSkipLines(1)
//.setBeanClass(User.class)
.setColumnMapping(new String[] {"name", "age"})
.load();
fail("没抛异常!");
} catch (RuntimeException e) {
assertEquals("beanClass must to be set!", e.getMessage());
}
}
@Test
public void loadCsvFail_missingColumnMapping() throws Exception {
try {
CsvLoader.newLoader()
.setCsvFile(csvFile)
.setSkipLines(1)
.setBeanClass(User.class)
//.setColumnMapping(new String[] {"name", "age"})
.load();
fail("没抛异常!");
} catch (RuntimeException e) {
assertEquals("columnMapping must to be set!", e.getMessage());
}
}
@Test
public void loadCsvFail_badSkipLines() throws Exception {
try {
CsvLoader.newLoader()
.setCsvFile(csvFile)
.setSkipLines(-1)
.setBeanClass(User.class)
.setColumnMapping(new String[] {"name", "age"})
.load();
fail("没抛异常!");
} catch (RuntimeException e) {
assertEquals("skipLines < 0 !", e.getMessage());
}
}
@Test
public void loadCsvOK() throws Exception {
List<User> users = CsvLoader.newLoader()
.setCsvFile(csvFile)
.setSkipLines(1)
.setBeanClass(User.class)
.setColumnMapping(new String[] {"name", "age"})
.load();
assertEquals(3, users.size());
User zxh = users.get(2);
assertEquals("zxh", zxh.getName());
assertEquals(31, zxh.getAge());
}
}