blob: 286f45ebb02d21543d5a7573d241bad9db99a85b [file] [log] [blame]
package gls.generics.vm5
class GenericsTest extends gls.generics.GenericsTestBase {
public void testClassWithoutParameterExtendsClassWithFixedParameter() {
createClassInfo """
class B extends ArrayList<Long> {}
"""
assert signatures==[
"class" : "Ljava/util/ArrayList<Ljava/lang/Long;>;Lgroovy/lang/GroovyObject;",
]
}
public void testMultipleImplementsWithParameter() {
createClassInfo """
abstract class B<T> implements Runnable,List<T> {}
"""
assert signatures == ["class":"<T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/lang/Runnable;Ljava/util/List<TT;>;Lgroovy/lang/GroovyObject;"]
}
public void testImplementsWithParameter() {
createClassInfo """
abstract class B<T> implements List<T> {}
"""
assert signatures==["class":"<T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/List<TT;>;Lgroovy/lang/GroovyObject;"]
}
public void testExtendsWithParameter() {
createClassInfo """
class B<T> extends ArrayList<T> {}
"""
assert signatures==["class":"<T:Ljava/lang/Object;>Ljava/util/ArrayList<TT;>;Lgroovy/lang/GroovyObject;"]
}
public void testNestedExtendsWithParameter() {
createClassInfo """
class B<T> extends HashMap<T,List<T>> {}
"""
assert signatures == ["class":"<T:Ljava/lang/Object;>Ljava/util/HashMap<TT;Ljava/util/List<TT;>;>;Lgroovy/lang/GroovyObject;"]
}
}