package g5.m.ref; | |
import g5.m.def.Single; | |
public class RefSingle { | |
// Test methods calls to a generic parameterized with Object | |
void testObject() { | |
Single<Object> gs = new Single<Object>(); | |
// Test reference to a standard method | |
gs.standard(new Object()); | |
// Test reference to a generic method | |
gs.<Object>generic(new Object()); | |
// Test reference to a method returning a parameterized type | |
gs = gs.returnParamType(); | |
// Test reference to a method with parameterized type arguments | |
gs.paramTypesArgs(gs); | |
// Test reference to a generic method returning a param type with param type parameters | |
gs.<Object>complete(new Object(), gs); | |
} | |
// Test methods calls to a generic parameterized with Exception | |
void testException() { | |
Single<Exception> gs = new Single<Exception>(); | |
gs.standard(new Exception()); | |
gs.<Exception>generic(new Exception()); | |
gs = gs.returnParamType(); | |
gs.paramTypesArgs(gs); | |
gs.<Exception>complete(new Exception(), gs); | |
} | |
// Test methods calls to a generic parameterized with RuntimeException | |
void testRuntimeException() { | |
Single<RuntimeException> gs = new Single<RuntimeException>(); | |
gs.standard(new RuntimeException()); | |
gs.<RuntimeException>generic(new RuntimeException()); | |
gs = gs.returnParamType(); | |
gs.paramTypesArgs(gs); | |
gs.<RuntimeException>complete(new RuntimeException(), gs); | |
} | |
// Test methods calls to a generic parameterized with ? | |
void testUnbound() { | |
Single<?> gs = new Single(); | |
gs.paramTypesArgs(gs); | |
gs = gs.returnParamType(); | |
gs.<String>complete(new String(), gs); | |
} | |
// Test methods calls to a generic parameterized with ? extends Throwable | |
void testExtends() { | |
Single<? extends Throwable> gs = new Single<Throwable>(); | |
gs.paramTypesArgs(gs); | |
gs.returnParamType(); | |
gs.<Throwable>complete(new Throwable(), gs); | |
} | |
// Test methods calls to a generic parameterized with ? super RuntimeException | |
void testSuper() { | |
Single<? super RuntimeException> gs = new Single<RuntimeException>(); | |
gs.paramTypesArgs(gs); | |
gs = gs.returnParamType(); | |
gs.<RuntimeException>complete(new RuntimeException(), gs); | |
} | |
} |