|
1 | 1 | /*
|
2 |
| - * Copyright 2002-2018 the original author or authors. |
| 2 | + * Copyright 2002-2019 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.
|
@@ -135,29 +135,41 @@ public void forRawClassWithNull() throws Exception {
|
135 | 135 | assertTrue(type.isAssignableFrom(String.class));
|
136 | 136 | }
|
137 | 137 |
|
| 138 | + @Test // gh-23321 |
| 139 | + public void forRawClassAssignableFromTypeVariable() throws Exception { |
| 140 | + ResolvableType typeVariable = ResolvableType.forClass(ExtendsList.class).as(List.class).getGeneric(); |
| 141 | + ResolvableType raw = ResolvableType.forRawClass(CharSequence.class); |
| 142 | + assertThat(raw.resolve(), equalTo(CharSequence.class)); |
| 143 | + assertThat(typeVariable.resolve(), equalTo(CharSequence.class)); |
| 144 | + assertTrue(raw.resolve().isAssignableFrom(typeVariable.resolve())); |
| 145 | + assertTrue(typeVariable.resolve().isAssignableFrom(raw.resolve())); |
| 146 | + assertTrue(raw.isAssignableFrom(typeVariable)); |
| 147 | + assertTrue(typeVariable.isAssignableFrom(raw)); |
| 148 | + } |
| 149 | + |
138 | 150 | @Test
|
139 |
| - public void forInstanceMustNotBeNull() { |
| 151 | + public void forInstanceMustNotBeNull() throws Exception { |
140 | 152 | this.thrown.expect(IllegalArgumentException.class);
|
141 | 153 | this.thrown.expectMessage("Instance must not be null");
|
142 | 154 | ResolvableType.forInstance(null);
|
143 | 155 | }
|
144 | 156 |
|
145 | 157 | @Test
|
146 |
| - public void forInstanceNoProvider() { |
| 158 | + public void forInstanceNoProvider() throws Exception { |
147 | 159 | ResolvableType type = ResolvableType.forInstance(new Object());
|
148 | 160 | assertThat(type.getType(), equalTo(Object.class));
|
149 | 161 | assertThat(type.resolve(), equalTo(Object.class));
|
150 | 162 | }
|
151 | 163 |
|
152 | 164 | @Test
|
153 |
| - public void forInstanceProvider() { |
| 165 | + public void forInstanceProvider() throws Exception { |
154 | 166 | ResolvableType type = ResolvableType.forInstance(new MyGenericInterfaceType<>(String.class));
|
155 | 167 | assertThat(type.getRawClass(), equalTo(MyGenericInterfaceType.class));
|
156 | 168 | assertThat(type.getGeneric().resolve(), equalTo(String.class));
|
157 | 169 | }
|
158 | 170 |
|
159 | 171 | @Test
|
160 |
| - public void forInstanceProviderNull() { |
| 172 | + public void forInstanceProviderNull() throws Exception { |
161 | 173 | ResolvableType type = ResolvableType.forInstance(new MyGenericInterfaceType<String>(null));
|
162 | 174 | assertThat(type.getType(), equalTo(MyGenericInterfaceType.class));
|
163 | 175 | assertThat(type.resolve(), equalTo(MyGenericInterfaceType.class));
|
@@ -431,12 +443,8 @@ public void getInterfaces() throws Exception {
|
431 | 443 | interfaces.add(interfaceType.toString());
|
432 | 444 | }
|
433 | 445 | assertThat(interfaces.toString(), equalTo(
|
434 |
| - "[" |
435 |
| - + "java.io.Serializable, " |
436 |
| - + "java.lang.Cloneable, " |
437 |
| - + "java.util.List<java.lang.CharSequence>, " |
438 |
| - + "java.util.RandomAccess" |
439 |
| - + "]")); |
| 446 | + "[java.io.Serializable, java.lang.Cloneable, " + |
| 447 | + "java.util.List<java.lang.CharSequence>, java.util.RandomAccess]")); |
440 | 448 | }
|
441 | 449 |
|
442 | 450 | @Test
|
|
0 commit comments