SPR-8714 Do not create copy in map-to-map and collection-to-collection conversion if not necessary
This commit is contained in:
@@ -112,7 +112,7 @@ public class CollectionToCollectionConverterTests {
|
||||
list.add(Arrays.asList("37", "23"));
|
||||
conversionService.addConverter(new CollectionToObjectConverter(conversionService));
|
||||
assertTrue(conversionService.canConvert(List.class, List.class));
|
||||
assertEquals(list, conversionService.convert(list, List.class));
|
||||
assertSame(list, conversionService.convert(list, List.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -175,7 +175,7 @@ public class CollectionToCollectionConverterTests {
|
||||
resources.add(new FileSystemResource("test"));
|
||||
resources.add(new TestResource());
|
||||
TypeDescriptor sourceType = TypeDescriptor.forObject(resources);
|
||||
assertEquals(resources, conversionService.convert(resources, sourceType, new TypeDescriptor(getClass().getField("resources"))));
|
||||
assertSame(resources, conversionService.convert(resources, sourceType, new TypeDescriptor(getClass().getField("resources"))));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -186,7 +186,7 @@ public class CollectionToCollectionConverterTests {
|
||||
resources.add(new FileSystemResource("test"));
|
||||
resources.add(new TestResource());
|
||||
TypeDescriptor sourceType = TypeDescriptor.forObject(resources);
|
||||
assertEquals(resources, conversionService.convert(resources, sourceType, new TypeDescriptor(getClass().getField("resources"))));
|
||||
assertSame(resources, conversionService.convert(resources, sourceType, new TypeDescriptor(getClass().getField("resources"))));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -195,7 +195,7 @@ public class CollectionToCollectionConverterTests {
|
||||
resources.add(null);
|
||||
resources.add(null);
|
||||
TypeDescriptor sourceType = TypeDescriptor.forObject(resources);
|
||||
assertEquals(resources, conversionService.convert(resources, sourceType, new TypeDescriptor(getClass().getField("resources"))));
|
||||
assertSame(resources, conversionService.convert(resources, sourceType, new TypeDescriptor(getClass().getField("resources"))));
|
||||
}
|
||||
|
||||
@Test(expected=ConverterNotFoundException.class)
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.springframework.core.convert.support;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertSame;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
@@ -56,7 +57,7 @@ public class MapToMapConverterTests {
|
||||
map.put("1", "9");
|
||||
map.put("2", "37");
|
||||
assertTrue(conversionService.canConvert(Map.class, Map.class));
|
||||
assertEquals(map, conversionService.convert(map, Map.class));
|
||||
assertSame(map, conversionService.convert(map, Map.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -140,7 +141,7 @@ public class MapToMapConverterTests {
|
||||
map.put("1", Arrays.asList("9", "12"));
|
||||
map.put("2", Arrays.asList("37", "23"));
|
||||
assertTrue(conversionService.canConvert(Map.class, Map.class));
|
||||
assertEquals(map, conversionService.convert(map, Map.class));
|
||||
assertSame(map, conversionService.convert(map, Map.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -151,7 +152,7 @@ public class MapToMapConverterTests {
|
||||
conversionService.addConverter(new CollectionToCollectionConverter(conversionService));
|
||||
conversionService.addConverter(new CollectionToObjectConverter(conversionService));
|
||||
assertTrue(conversionService.canConvert(Map.class, Map.class));
|
||||
assertEquals(map, conversionService.convert(map, Map.class));
|
||||
assertSame(map, conversionService.convert(map, Map.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -160,7 +161,7 @@ public class MapToMapConverterTests {
|
||||
TypeDescriptor sourceType = TypeDescriptor.forObject(map);
|
||||
TypeDescriptor targetType = new TypeDescriptor(getClass().getField("emptyMapTarget"));
|
||||
assertTrue(conversionService.canConvert(sourceType, targetType));
|
||||
assertEquals(map, conversionService.convert(map, sourceType, targetType));
|
||||
assertSame(map, conversionService.convert(map, sourceType, targetType));
|
||||
}
|
||||
|
||||
public Map<String, String> emptyMapTarget;
|
||||
@@ -169,7 +170,7 @@ public class MapToMapConverterTests {
|
||||
public void emptyMapNoTargetGenericInfo() throws Exception {
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
assertTrue(conversionService.canConvert(Map.class, Map.class));
|
||||
assertEquals(map, conversionService.convert(map, Map.class));
|
||||
assertSame(map, conversionService.convert(map, Map.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -185,5 +186,5 @@ public class MapToMapConverterTests {
|
||||
}
|
||||
|
||||
public LinkedHashMap<String, String> emptyMapDifferentTarget;
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user