1 package integrationTest.FR138;
2
3 import com.opencsv.bean.CsvToBeanBuilder;
4 import com.opencsv.bean.HeaderColumnNameMappingStrategy;
5 import org.junit.jupiter.api.DisplayName;
6 import org.junit.jupiter.api.Test;
7
8 import java.io.StringReader;
9 import java.util.List;
10
11 import static org.junit.jupiter.api.Assertions.assertEquals;
12 import static org.junit.jupiter.api.Assertions.assertTrue;
13
14 public class FR138Test {
15 @DisplayName("Parse a Bean that has the word null for a primitive value.")
16 @Test
17 public void parseBeanThatHasNullForInt() {
18 String testString = "name,num,orderNumber\n" +
19 "kyle,123,abc123456\n" +
20 "jimmy,null,def098765";
21
22 HeaderColumnNameMappingStrategy<FR138MockBean> strategy = new HeaderColumnNameMappingStrategy<>();
23 strategy.setType(FR138MockBean.class);
24 List<FR138MockBean> beanList = new CsvToBeanBuilder<FR138MockBean>(new StringReader(testString))
25 .withMappingStrategy(strategy)
26 .build().parse();
27
28 assertEquals(2, beanList.size());
29 assertTrue(beanList.contains(new FR138MockBean("kyle", null, "abc123456", 123, 0.0)));
30 assertTrue(beanList.contains(new FR138MockBean("jimmy", null, "def098765", 0, 0.0)));
31 }
32 }