package org.testng.eclipse.launch.tester; import org.eclipse.core.expressions.PropertyTester; import org.eclipse.jdt.core.IJavaElement; import org.testng.eclipse.util.TestSearchEngine; public class JavaTypeExtender extends PropertyTester { public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { if(!(receiver instanceof IJavaElement)) { return false; } return isTest((IJavaElement) receiver); } public static boolean isTest(IJavaElement javaElement) { int javaElementType = javaElement.getElementType(); if(IJavaElement.JAVA_PROJECT == javaElementType || IJavaElement.PACKAGE_FRAGMENT_ROOT == javaElementType || IJavaElement.PACKAGE_FRAGMENT == javaElementType) { return true; } if(IJavaElement.COMPILATION_UNIT == javaElementType || IJavaElement.TYPE == javaElementType || IJavaElement.METHOD == javaElementType) { return TestSearchEngine.isTest(javaElement); } return false; } }