blob: 87a60071f5154746fc15ae9191ad02b05e268184 [file] [log] [blame]
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);
}
}