@@ -30,6 +30,56 @@ public SingleArgNotAnnotated(@ImplicitName("value") int value) {
30
30
}
31
31
}
32
32
33
+ static class SingleArgByte {
34
+ protected byte v ;
35
+
36
+ SingleArgByte () { v = -1 ; }
37
+
38
+ public SingleArgByte (@ ImplicitName ("value" ) byte value ) {
39
+ v = value ;
40
+ }
41
+ }
42
+
43
+ static class SingleArgShort {
44
+ protected short v ;
45
+
46
+ SingleArgShort () { v = -1 ; }
47
+
48
+ public SingleArgShort (@ ImplicitName ("value" ) short value ) {
49
+ v = value ;
50
+ }
51
+ }
52
+
53
+ static class SingleArgLong {
54
+ protected long v ;
55
+
56
+ SingleArgLong () { v = -1 ; }
57
+
58
+ public SingleArgLong (@ ImplicitName ("value" ) long value ) {
59
+ v = value ;
60
+ }
61
+ }
62
+
63
+ static class SingleArgFloat {
64
+ protected float v ;
65
+
66
+ SingleArgFloat () { v = -1.0f ; }
67
+
68
+ public SingleArgFloat (@ ImplicitName ("value" ) float value ) {
69
+ v = value ;
70
+ }
71
+ }
72
+
73
+ static class SingleArgDouble {
74
+ protected double v ;
75
+
76
+ SingleArgDouble () { v = -1.0 ; }
77
+
78
+ public SingleArgDouble (@ ImplicitName ("value" ) double value ) {
79
+ v = value ;
80
+ }
81
+ }
82
+
33
83
static class SingleArgNoMode {
34
84
protected int v ;
35
85
@@ -111,6 +161,55 @@ public void test1ArgDefaultsToPropertiesNonAnnotated() throws Exception
111
161
assertEquals (137 , value .v );
112
162
}
113
163
164
+ @ Test
165
+ public void test1ArgDefaultsToPropertiesNonAnnotatedDecimal () throws Exception
166
+ {
167
+ SingleArgNotAnnotated value = MAPPER_PROPS .readValue (a2q ("{'value' : 137.0 }" ),
168
+ SingleArgNotAnnotated .class );
169
+ assertEquals (137 , value .v );
170
+ }
171
+
172
+ @ Test
173
+ public void test1ArgDefaultsToPropertiesByte () throws Exception
174
+ {
175
+ SingleArgByte value = MAPPER_PROPS .readValue (a2q ("{'value' : -99 }" ),
176
+ SingleArgByte .class );
177
+ assertEquals (-99 , value .v );
178
+ }
179
+
180
+ @ Test
181
+ public void test1ArgDefaultsToPropertiesShort () throws Exception
182
+ {
183
+ SingleArgShort value = MAPPER_PROPS .readValue (a2q ("{'value' : 137 }" ),
184
+ SingleArgShort .class );
185
+ assertEquals (137 , value .v );
186
+ }
187
+
188
+ @ Test
189
+ public void test1ArgDefaultsToPropertiesLong () throws Exception
190
+ {
191
+ String val = Long .toString (Long .MAX_VALUE );
192
+ SingleArgLong value = MAPPER_PROPS .readValue (a2q ("{'value' : " + val + " }" ),
193
+ SingleArgLong .class );
194
+ assertEquals (Long .MAX_VALUE , value .v );
195
+ }
196
+
197
+ @ Test
198
+ public void test1ArgDefaultsToPropertiesFloat () throws Exception
199
+ {
200
+ SingleArgFloat value = MAPPER_PROPS .readValue (a2q ("{'value' : 136.99 }" ),
201
+ SingleArgFloat .class );
202
+ assertEquals (136.99f , value .v );
203
+ }
204
+
205
+ @ Test
206
+ public void test1ArgDefaultsToPropertiesDouble () throws Exception
207
+ {
208
+ SingleArgDouble value = MAPPER_PROPS .readValue (a2q ("{'value' : 999999999999999999.99 }" ),
209
+ SingleArgDouble .class );
210
+ assertEquals (999999999999999999.99 , value .v );
211
+ }
212
+
114
213
@ Test
115
214
public void test1ArgDefaultsToPropertiesNoMode () throws Exception
116
215
{
0 commit comments