1
1
/*
2
- * Copyright 2002-2014 the original author or authors.
2
+ * Copyright 2002-2015 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -69,7 +69,7 @@ public void testStringToCharacterEmptyString() {
69
69
assertEquals (null , conversionService .convert ("" , Character .class ));
70
70
}
71
71
72
- @ Test (expected = ConversionFailedException .class )
72
+ @ Test (expected = ConversionFailedException .class )
73
73
public void testStringToCharacterInvalidString () {
74
74
conversionService .convert ("invalid" , Character .class );
75
75
}
@@ -106,7 +106,7 @@ public void testStringToBooleanEmptyString() {
106
106
assertEquals (null , conversionService .convert ("" , Boolean .class ));
107
107
}
108
108
109
- @ Test (expected = ConversionFailedException .class )
109
+ @ Test (expected = ConversionFailedException .class )
110
110
public void testStringToBooleanInvalidString () {
111
111
conversionService .convert ("invalid" , Boolean .class );
112
112
}
@@ -265,36 +265,11 @@ public void testNumberToNumber() {
265
265
assertEquals (Long .valueOf (1 ), conversionService .convert (Integer .valueOf (1 ), Long .class ));
266
266
}
267
267
268
- @ Test (expected = ConversionFailedException .class )
268
+ @ Test (expected = ConversionFailedException .class )
269
269
public void testNumberToNumberNotSupportedNumber () {
270
270
conversionService .convert (Integer .valueOf (1 ), CustomNumber .class );
271
271
}
272
272
273
- @ SuppressWarnings ("serial" )
274
- public static class CustomNumber extends Number {
275
-
276
- @ Override
277
- public double doubleValue () {
278
- return 0 ;
279
- }
280
-
281
- @ Override
282
- public float floatValue () {
283
- return 0 ;
284
- }
285
-
286
- @ Override
287
- public int intValue () {
288
- return 0 ;
289
- }
290
-
291
- @ Override
292
- public long longValue () {
293
- return 0 ;
294
- }
295
-
296
- }
297
-
298
273
@ Test
299
274
public void testNumberToCharacter () {
300
275
assertEquals (Character .valueOf ('A' ), conversionService .convert (Integer .valueOf (65 ), Character .class ));
@@ -798,7 +773,7 @@ public void convertObjectToOptional() {
798
773
TypeDescriptor descriptor = new TypeDescriptor (parameter );
799
774
Object actual = conversionService .convert ("1,2,3" , TypeDescriptor .valueOf (String .class ), descriptor );
800
775
assertEquals (Optional .class , actual .getClass ());
801
- assertEquals (Arrays .asList (1 ,2 , 3 ), ((Optional <List <Integer >>) actual ).get ());
776
+ assertEquals (Arrays .asList (1 , 2 , 3 ), ((Optional <List <Integer >>) actual ).get ());
802
777
}
803
778
804
779
@ Test
@@ -807,6 +782,38 @@ public void convertObjectToOptionalNull() {
807
782
assertSame (Optional .empty (), conversionService .convert (null , Optional .class ));
808
783
}
809
784
785
+ @ Test
786
+ public void convertExistingOptional () {
787
+ assertSame (Optional .empty (), conversionService .convert (Optional .empty (), TypeDescriptor .valueOf (Object .class ),
788
+ TypeDescriptor .valueOf (Optional .class )));
789
+ assertSame (Optional .empty (), conversionService .convert (Optional .empty (), Optional .class ));
790
+ }
791
+
792
+
793
+ @ SuppressWarnings ("serial" )
794
+ public static class CustomNumber extends Number {
795
+
796
+ @ Override
797
+ public double doubleValue () {
798
+ return 0 ;
799
+ }
800
+
801
+ @ Override
802
+ public float floatValue () {
803
+ return 0 ;
804
+ }
805
+
806
+ @ Override
807
+ public int intValue () {
808
+ return 0 ;
809
+ }
810
+
811
+ @ Override
812
+ public long longValue () {
813
+ return 0 ;
814
+ }
815
+ }
816
+
810
817
811
818
public static class TestEntity {
812
819
0 commit comments