예제 #1
0
 protected boolean annotatedWith(@NotNull Class annotationClass) {
   Class<?> aClass = getClass();
   String methodName = "test" + getTestName(false);
   boolean methodChecked = false;
   while (aClass != null && aClass != Object.class) {
     if (aClass.getAnnotation(annotationClass) != null) return true;
     if (!methodChecked) {
       try {
         Method method = aClass.getDeclaredMethod(methodName);
         if (method.getAnnotation(annotationClass) != null) return true;
         methodChecked = true;
       } catch (NoSuchMethodException ignored) {
       }
     }
     aClass = aClass.getSuperclass();
   }
   return false;
 }
예제 #2
0
  protected static void checkAllTimersAreDisposed() {
    try {
      Class<?> aClass = Class.forName("javax.swing.TimerQueue");

      Method inst = aClass.getDeclaredMethod("sharedInstance");
      inst.setAccessible(true);
      Object queue = inst.invoke(null);
      Field field = aClass.getDeclaredField("firstTimer");
      field.setAccessible(true);
      Object firstTimer = field.get(queue);
      if (firstTimer != null) {
        try {
          fail("Not disposed Timer: " + firstTimer.toString() + "; queue:" + queue);
        } finally {
          field.set(queue, null);
        }
      }
    } catch (Throwable e) {
      // Ignore
    }
  }