@@ -30,6 +30,56 @@ public SingleArgNotAnnotated(@ImplicitName("value") int value) {
3030 }
3131 }
3232
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+
3383 static class SingleArgNoMode {
3484 protected int v ;
3585
@@ -111,6 +161,55 @@ public void test1ArgDefaultsToPropertiesNonAnnotated() throws Exception
111161 assertEquals (137 , value .v );
112162 }
113163
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+
114213 @ Test
115214 public void test1ArgDefaultsToPropertiesNoMode () throws Exception
116215 {
0 commit comments