ResolvableType-based type matching at the BeanFactory API level
Issue: SPR-12147
This commit is contained in:
@@ -61,6 +61,7 @@ import static org.mockito.BDDMockito.*;
|
||||
* Tests for {@link ResolvableType}.
|
||||
*
|
||||
* @author Phillip Webb
|
||||
* @author Juergen Hoeller
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
@@ -882,7 +883,7 @@ public class ResolvableTypeTests {
|
||||
public void isAssignableFromMustNotBeNull() throws Exception {
|
||||
this.thrown.expect(IllegalArgumentException.class);
|
||||
this.thrown.expectMessage("Type must not be null");
|
||||
ResolvableType.forClass(Object.class).isAssignableFrom(null);
|
||||
ResolvableType.forClass(Object.class).isAssignableFrom((ResolvableType) null);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -901,6 +902,20 @@ public class ResolvableTypeTests {
|
||||
assertAssignable(objectType, objectType, charSequenceType, stringType).equalTo(true, true, true);
|
||||
assertAssignable(charSequenceType, objectType, charSequenceType, stringType).equalTo(false, true, true);
|
||||
assertAssignable(stringType, objectType, charSequenceType, stringType).equalTo(false, false, true);
|
||||
|
||||
assertTrue(objectType.isAssignableFrom(String.class));
|
||||
assertTrue(objectType.isAssignableFrom(StringBuilder.class));
|
||||
assertTrue(charSequenceType.isAssignableFrom(String.class));
|
||||
assertTrue(charSequenceType.isAssignableFrom(StringBuilder.class));
|
||||
assertTrue(stringType.isAssignableFrom(String.class));
|
||||
assertFalse(stringType.isAssignableFrom(StringBuilder.class));
|
||||
|
||||
assertTrue(objectType.isInstance("a String"));
|
||||
assertTrue(objectType.isInstance(new StringBuilder("a StringBuilder")));
|
||||
assertTrue(charSequenceType.isInstance("a String"));
|
||||
assertTrue(charSequenceType.isInstance(new StringBuilder("a StringBuilder")));
|
||||
assertTrue(stringType.isInstance("a String"));
|
||||
assertFalse(stringType.isInstance(new StringBuilder("a StringBuilder")));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user