ResolvableType.forRawClass as a straight wrapper for Class.isAssignableFrom

Issue: SPR-12846
This commit is contained in:
Juergen Hoeller
2015-03-24 19:20:15 +01:00
parent b2308926bc
commit 09027f7972
5 changed files with 238 additions and 137 deletions

View File

@@ -101,13 +101,36 @@ public class ResolvableTypeTests {
public void forClass() throws Exception {
ResolvableType type = ResolvableType.forClass(ExtendsList.class);
assertThat(type.getType(), equalTo((Type) ExtendsList.class));
assertThat(type.getRawClass(), equalTo(ExtendsList.class));
assertTrue(type.isAssignableFrom(ExtendsList.class));
assertFalse(type.isAssignableFrom(ArrayList.class));
}
@Test
public void forClassMustNotBeNull() throws Exception {
this.thrown.expect(IllegalArgumentException.class);
this.thrown.expectMessage("Source class must not be null");
ResolvableType.forClass(null);
public void forClassWithNull() throws Exception {
ResolvableType type = ResolvableType.forClass(null);
assertThat(type.getType(), equalTo((Type) Object.class));
assertThat(type.getRawClass(), equalTo(Object.class));
assertTrue(type.isAssignableFrom(Object.class));
assertTrue(type.isAssignableFrom(String.class));
}
@Test
public void forRawClass() throws Exception {
ResolvableType type = ResolvableType.forRawClass(ExtendsList.class);
assertThat(type.getType(), equalTo((Type) ExtendsList.class));
assertThat(type.getRawClass(), equalTo(ExtendsList.class));
assertTrue(type.isAssignableFrom(ExtendsList.class));
assertFalse(type.isAssignableFrom(ArrayList.class));
}
@Test
public void forRawClassWithNull() throws Exception {
ResolvableType type = ResolvableType.forRawClass(null);
assertThat(type.getType(), equalTo((Type) Object.class));
assertThat(type.getRawClass(), equalTo(Object.class));
assertTrue(type.isAssignableFrom(Object.class));
assertTrue(type.isAssignableFrom(String.class));
}
@Test