1
1
package com .fasterxml .jackson .dataformat .csv .deser ;
2
2
3
3
import com .fasterxml .jackson .annotation .JsonPropertyOrder ;
4
+
4
5
import com .fasterxml .jackson .databind .ObjectReader ;
5
6
import com .fasterxml .jackson .dataformat .csv .CsvMapper ;
6
7
import com .fasterxml .jackson .dataformat .csv .CsvParser ;
7
- import org . junit . Test ;
8
+ import com . fasterxml . jackson . dataformat . csv . ModuleTestBase ;
8
9
9
10
import java .io .IOException ;
10
11
11
- import static org .junit .Assert .*;
12
-
13
12
/**
14
- * Test for {@link CsvParser.Feature#EMPTY_STRING_AS_NULL}
13
+ * Tests for {@link CsvParser.Feature#EMPTY_STRING_AS_NULL}
14
+ * ({@code dataformats-text#7}).
15
15
*/
16
- public class EmptyStringAsNullTest {
17
-
18
-
16
+ public class EmptyStringAsNullTest
17
+ extends ModuleTestBase
18
+ {
19
19
@ JsonPropertyOrder ({"firstName" , "middleName" , "lastName" })
20
20
static class TestUser {
21
21
public String firstName , middleName , lastName ;
22
22
}
23
23
24
- @ Test
25
- public void givenFeatureDisabledByDefault_whenColumnIsEmptyString_thenParseAsEmptyString () throws IOException {
24
+ /*
25
+ /**********************************************************
26
+ /* Test methods
27
+ /**********************************************************
28
+ */
29
+
30
+ private final CsvMapper MAPPER = mapperForCsv ();
31
+
32
+ public void testDefaultParseAsEmptyString () throws IOException {
26
33
// setup test data
27
34
TestUser expectedTestUser = new TestUser ();
28
35
expectedTestUser .firstName = "Grace" ;
29
36
expectedTestUser .middleName = "" ;
30
37
expectedTestUser .lastName = "Hopper" ;
31
- CsvMapper csvMapper = CsvMapper .builder ().build ();
32
- ObjectReader objectReader = csvMapper .readerFor (TestUser .class ).with (csvMapper .schemaFor (TestUser .class ));
38
+ ObjectReader objectReader = MAPPER .readerFor (TestUser .class ).with (MAPPER .schemaFor (TestUser .class ));
33
39
String csv = "Grace,,Hopper" ;
34
40
35
41
// execute
@@ -42,14 +48,16 @@ public void givenFeatureDisabledByDefault_whenColumnIsEmptyString_thenParseAsEmp
42
48
assertEquals (expectedTestUser .lastName , actualTestUser .lastName );
43
49
}
44
50
45
- @ Test
46
- public void givenFeatureEnabled_whenColumnIsEmptyString_thenParseAsNull () throws IOException {
51
+ public void testSimpleParseEmptyStringAsNull () throws IOException {
47
52
// setup test data
48
53
TestUser expectedTestUser = new TestUser ();
49
54
expectedTestUser .firstName = "Grace" ;
50
55
expectedTestUser .lastName = "Hopper" ;
51
- CsvMapper csvMapper = CsvMapper .builder ().enable (CsvParser .Feature .EMPTY_STRING_AS_NULL ).build ();
52
- ObjectReader objectReader = csvMapper .readerFor (TestUser .class ).with (csvMapper .schemaFor (TestUser .class ));
56
+
57
+ ObjectReader objectReader = MAPPER
58
+ .readerFor (TestUser .class )
59
+ .with (MAPPER .schemaFor (TestUser .class ))
60
+ .with (CsvParser .Feature .EMPTY_STRING_AS_NULL );
53
61
String csv = "Grace,,Hopper" ;
54
62
55
63
// execute
0 commit comments