21
21
import static org .junit .Assert .assertNull ;
22
22
import static org .junit .Assert .fail ;
23
23
24
+ import com .google .firebase .firestore .DocumentReference ;
24
25
import com .google .firebase .firestore .Exclude ;
25
26
import com .google .firebase .firestore .PropertyName ;
26
27
import com .google .firebase .firestore .ThrowOnExtraProperties ;
@@ -919,6 +920,15 @@ private static void assertExceptionContains(String partialMessage, Runnable run)
919
920
}
920
921
}
921
922
923
+ private static <T > T convertToCustomClass (
924
+ Object object , Class <T > clazz , DocumentReference docRef ) {
925
+ return CustomClassMapper .convertToCustomClass (object , clazz , docRef );
926
+ }
927
+
928
+ private static <T > T convertToCustomClass (Object object , Class <T > clazz ) {
929
+ return CustomClassMapper .convertToCustomClass (object , clazz , null );
930
+ }
931
+
922
932
@ Test
923
933
public void primitiveDeserializeString () {
924
934
StringBean bean = deserialize ("{'value': 'foo'}" , StringBean .class );
@@ -1339,8 +1349,7 @@ public void beansCanContainMaps() {
1339
1349
public void beansCanContainUpperBoundedMaps () {
1340
1350
Date date = new Date (1491847082123L );
1341
1351
Map <String , Object > source = map ("values" , map ("foo" , date ));
1342
- UpperBoundedMapBean bean =
1343
- CustomClassMapper .convertToCustomClass (source , UpperBoundedMapBean .class , null );
1352
+ UpperBoundedMapBean bean = convertToCustomClass (source , UpperBoundedMapBean .class );
1344
1353
Map <String , Object > expected = map ("foo" , date );
1345
1354
assertEquals (expected , bean .values );
1346
1355
}
@@ -1349,8 +1358,7 @@ public void beansCanContainUpperBoundedMaps() {
1349
1358
public void beansCanContainMultiBoundedMaps () {
1350
1359
Date date = new Date (1491847082123L );
1351
1360
Map <String , Object > source = map ("map" , map ("values" , map ("foo" , date )));
1352
- MultiBoundedMapHolderBean bean =
1353
- CustomClassMapper .convertToCustomClass (source , MultiBoundedMapHolderBean .class , null );
1361
+ MultiBoundedMapHolderBean bean = convertToCustomClass (source , MultiBoundedMapHolderBean .class );
1354
1362
1355
1363
Map <String , Object > expected = map ("foo" , date );
1356
1364
assertEquals (expected , bean .map .values );
@@ -1367,8 +1375,7 @@ public void beansCanContainUnboundedMaps() {
1367
1375
public void beansCanContainUnboundedTypeVariableMaps () {
1368
1376
Map <String , Object > source = map ("map" , map ("values" , map ("foo" , "bar" )));
1369
1377
UnboundedTypeVariableMapHolderBean bean =
1370
- CustomClassMapper .convertToCustomClass (
1371
- source , UnboundedTypeVariableMapHolderBean .class , null );
1378
+ convertToCustomClass (source , UnboundedTypeVariableMapHolderBean .class );
1372
1379
1373
1380
Map <String , Object > expected = map ("foo" , "bar" );
1374
1381
assertEquals (expected , bean .map .values );
@@ -1824,65 +1831,60 @@ public void objectAcceptsAnyObject() {
1824
1831
1825
1832
@ Test
1826
1833
public void objectClassCanBePassedInAtTopLevel () {
1827
- assertEquals ("foo" , CustomClassMapper . convertToCustomClass ("foo" , Object .class , null ));
1828
- assertEquals (1 , CustomClassMapper . convertToCustomClass (1 , Object .class , null ));
1829
- assertEquals (1L , CustomClassMapper . convertToCustomClass (1L , Object .class , null ));
1830
- assertEquals (true , CustomClassMapper . convertToCustomClass (true , Object .class , null ));
1831
- assertEquals (1.1 , CustomClassMapper . convertToCustomClass (1.1 , Object .class , null ));
1834
+ assertEquals ("foo" , convertToCustomClass ("foo" , Object .class ));
1835
+ assertEquals (1 , convertToCustomClass (1 , Object .class ));
1836
+ assertEquals (1L , convertToCustomClass (1L , Object .class ));
1837
+ assertEquals (true , convertToCustomClass (true , Object .class ));
1838
+ assertEquals (1.1 , convertToCustomClass (1.1 , Object .class ));
1832
1839
List <String > fooList = Collections .singletonList ("foo" );
1833
- assertEquals (fooList , CustomClassMapper . convertToCustomClass (fooList , Object .class , null ));
1840
+ assertEquals (fooList , convertToCustomClass (fooList , Object .class ));
1834
1841
Map <String , String > fooMap = Collections .singletonMap ("foo" , "bar" );
1835
- assertEquals (fooMap , CustomClassMapper . convertToCustomClass (fooMap , Object .class , null ));
1842
+ assertEquals (fooMap , convertToCustomClass (fooMap , Object .class ));
1836
1843
}
1837
1844
1838
1845
@ Test
1839
1846
public void primitiveClassesCanBePassedInTopLevel () {
1840
- assertEquals ("foo" , CustomClassMapper . convertToCustomClass ("foo" , String .class , null ));
1841
- assertEquals ((Integer ) 1 , CustomClassMapper . convertToCustomClass (1 , Integer .class , null ));
1842
- assertEquals ((Long ) 1L , CustomClassMapper . convertToCustomClass (1L , Long .class , null ));
1843
- assertEquals (true , CustomClassMapper . convertToCustomClass (true , Boolean .class , null ));
1844
- assertEquals ((Double ) 1.1 , CustomClassMapper . convertToCustomClass (1.1 , Double .class , null ));
1847
+ assertEquals ("foo" , convertToCustomClass ("foo" , String .class ));
1848
+ assertEquals ((Integer ) 1 , convertToCustomClass (1 , Integer .class ));
1849
+ assertEquals ((Long ) 1L , convertToCustomClass (1L , Long .class ));
1850
+ assertEquals (true , convertToCustomClass (true , Boolean .class ));
1851
+ assertEquals ((Double ) 1.1 , convertToCustomClass (1.1 , Double .class ));
1845
1852
}
1846
1853
1847
1854
@ Test
1848
1855
public void passingInListTopLevelThrows () {
1849
1856
assertExceptionContains (
1850
1857
"Class java.util.List has generic type parameters, please use GenericTypeIndicator "
1851
1858
+ "instead" ,
1852
- () ->
1853
- CustomClassMapper .convertToCustomClass (
1854
- Collections .singletonList ("foo" ), List .class , null ));
1859
+ () -> convertToCustomClass (Collections .singletonList ("foo" ), List .class ));
1855
1860
}
1856
1861
1857
1862
@ Test
1858
1863
public void passingInMapTopLevelThrows () {
1859
1864
assertExceptionContains (
1860
1865
"Class java.util.Map has generic type parameters, please use GenericTypeIndicator "
1861
1866
+ "instead" ,
1862
- () ->
1863
- CustomClassMapper .convertToCustomClass (
1864
- Collections .singletonMap ("foo" , "bar" ), Map .class , null ));
1867
+ () -> convertToCustomClass (Collections .singletonMap ("foo" , "bar" ), Map .class ));
1865
1868
}
1866
1869
1867
1870
@ Test
1868
1871
public void passingInCharacterTopLevelThrows () {
1869
1872
assertExceptionContains (
1870
1873
"Deserializing values to Character is not supported" ,
1871
- () -> CustomClassMapper . convertToCustomClass ('1' , Character .class , null ));
1874
+ () -> convertToCustomClass ('1' , Character .class ));
1872
1875
}
1873
1876
1874
1877
@ Test
1875
1878
public void passingInShortTopLevelThrows () {
1876
1879
assertExceptionContains (
1877
1880
"Deserializing values to Short is not supported" ,
1878
- () -> CustomClassMapper . convertToCustomClass (1 , Short .class , null ));
1881
+ () -> convertToCustomClass (1 , Short .class ));
1879
1882
}
1880
1883
1881
1884
@ Test
1882
1885
public void passingInByteTopLevelThrows () {
1883
1886
assertExceptionContains (
1884
- "Deserializing values to Byte is not supported" ,
1885
- () -> CustomClassMapper .convertToCustomClass (1 , Byte .class , null ));
1887
+ "Deserializing values to Byte is not supported" , () -> convertToCustomClass (1 , Byte .class ));
1886
1888
}
1887
1889
1888
1890
@ Test
@@ -1919,13 +1921,13 @@ public void collectionsCantBeDeserialized() {
1919
1921
1920
1922
@ Test
1921
1923
public void allowNullEverywhere () {
1922
- assertNull (CustomClassMapper . convertToCustomClass (null , Integer .class , null ));
1923
- assertNull (CustomClassMapper . convertToCustomClass (null , String .class , null ));
1924
- assertNull (CustomClassMapper . convertToCustomClass (null , Double .class , null ));
1925
- assertNull (CustomClassMapper . convertToCustomClass (null , Long .class , null ));
1926
- assertNull (CustomClassMapper . convertToCustomClass (null , Boolean .class , null ));
1927
- assertNull (CustomClassMapper . convertToCustomClass (null , StringBean .class , null ));
1928
- assertNull (CustomClassMapper . convertToCustomClass (null , Object .class , null ));
1924
+ assertNull (convertToCustomClass (null , Integer .class ));
1925
+ assertNull (convertToCustomClass (null , String .class ));
1926
+ assertNull (convertToCustomClass (null , Double .class ));
1927
+ assertNull (convertToCustomClass (null , Long .class ));
1928
+ assertNull (convertToCustomClass (null , Boolean .class ));
1929
+ assertNull (convertToCustomClass (null , StringBean .class ));
1930
+ assertNull (convertToCustomClass (null , Object .class ));
1929
1931
}
1930
1932
1931
1933
@ Test
@@ -2236,7 +2238,7 @@ public void deserializationFailureIncludesPath() {
2236
2238
Object serialized = Collections .singletonMap ("value" , (short ) 1 );
2237
2239
2238
2240
try {
2239
- CustomClassMapper . convertToCustomClass (serialized , ShortBean .class , null );
2241
+ convertToCustomClass (serialized , ShortBean .class );
2240
2242
fail ("should have thrown" );
2241
2243
} catch (RuntimeException e ) {
2242
2244
assertEquals (
0 commit comments