8
8
import tools .jackson .databind .BaseMapTest ;
9
9
import tools .jackson .databind .DefaultTyping ;
10
10
import tools .jackson .databind .ObjectMapper ;
11
+ import tools .jackson .databind .ObjectWriter ;
11
12
import tools .jackson .databind .json .JsonMapper ;
12
13
import tools .jackson .databind .testutil .NoCheckSubTypeValidator ;
13
14
@@ -17,7 +18,7 @@ public class Java9ListsTest extends BaseMapTest
17
18
private final ObjectMapper MAPPER = JsonMapper .builder ()
18
19
.activateDefaultTypingAsProperty (
19
20
NoCheckSubTypeValidator .instance ,
20
- DefaultTyping .EVERYTHING ,
21
+ DefaultTyping .NON_FINAL ,
21
22
"@class"
22
23
).build ();
23
24
@@ -39,56 +40,59 @@ public void testJava9ListOf() throws Exception
39
40
System.err.println(" final? "+type.isFinal());
40
41
}
41
42
*/
42
- String actualJson = MAPPER .writeValueAsString (list );
43
+ ObjectWriter w = MAPPER .writerFor (List .class );
44
+ String actualJson = w .writeValueAsString (list );
43
45
List <?> output = MAPPER .readValue (actualJson , List .class );
44
46
assertEquals (1 , output .size ());
45
47
46
48
// and couple of alternatives:
47
49
list = List .of ("a" , "b" );
48
- actualJson = MAPPER .writeValueAsString (list );
50
+ actualJson = w .writeValueAsString (list );
49
51
output = MAPPER .readValue (actualJson , List .class );
50
52
assertEquals (2 , output .size ());
51
53
52
54
list = List .of ("a" , "b" , "c" );
53
- actualJson = MAPPER .writeValueAsString (list );
55
+ actualJson = w .writeValueAsString (list );
54
56
output = MAPPER .readValue (actualJson , List .class );
55
57
assertEquals (3 , output .size ());
56
58
57
59
list = List .of ();
58
- actualJson = MAPPER .writeValueAsString (list );
60
+ actualJson = w .writeValueAsString (list );
59
61
output = MAPPER .readValue (actualJson , List .class );
60
62
assertEquals (0 , output .size ());
61
63
}
62
64
63
65
public void testJava9MapOf () throws Exception
64
66
{
67
+ ObjectWriter w = MAPPER .writerFor (Map .class );
65
68
Map <String ,String > map = Map .of ("key" , "value" );
66
- String actualJson = MAPPER .writeValueAsString (map );
69
+ String actualJson = w .writeValueAsString (map );
67
70
Map <?,?> output = MAPPER .readValue (actualJson , Map .class );
68
71
assertEquals (1 , output .size ());
69
72
70
73
// and alternatives
71
74
map = Map .of ("key" , "value" , "foo" , "bar" );
72
- actualJson = MAPPER .writeValueAsString (map );
75
+ actualJson = w .writeValueAsString (map );
73
76
output = MAPPER .readValue (actualJson , Map .class );
74
77
assertEquals (2 , output .size ());
75
78
76
79
map = Map .of ("key" , "value" , "foo" , "bar" , "last" , "one" );
77
- actualJson = MAPPER .writeValueAsString (map );
80
+ actualJson = w .writeValueAsString (map );
78
81
output = MAPPER .readValue (actualJson , Map .class );
79
82
assertEquals (3 , output .size ());
80
83
81
84
map = Map .of ();
82
- actualJson = MAPPER .writeValueAsString (map );
85
+ actualJson = w .writeValueAsString (map );
83
86
output = MAPPER .readValue (actualJson , Map .class );
84
87
assertEquals (0 , output .size ());
85
88
}
86
89
87
90
// [databind#3344]
88
91
public void testJava9SetOf () throws Exception
89
92
{
93
+ ObjectWriter w = MAPPER .writerFor (Set .class );
90
94
Set <?> set = Set .of ("a" , "b" , "c" );
91
- String actualJson = MAPPER .writeValueAsString (set );
95
+ String actualJson = w .writeValueAsString (set );
92
96
Set <?> output = MAPPER .readValue (actualJson , Set .class );
93
97
assertTrue (output instanceof Set <?>);
94
98
assertEquals (set , output );
0 commit comments