| package test.annotationtransformer; |
| |
| import org.testng.IAnnotationTransformer; |
| import org.testng.annotations.ITestAnnotation; |
| |
| import java.lang.reflect.Constructor; |
| import java.lang.reflect.Method; |
| |
| public class MyParamTransformer implements IAnnotationTransformer { |
| |
| private boolean success = true; |
| |
| @Override |
| public void transform(ITestAnnotation annotation, Class testClass, |
| Constructor testConstructor, Method testMethod) { |
| if (!onlyOneNonNull(testClass, testConstructor, testMethod)) { |
| success = false; |
| } |
| } |
| |
| public static boolean onlyOneNonNull(Class testClass, Constructor testConstructor, Method testMethod) { |
| return ((testClass != null && testConstructor == null && testMethod == null) || |
| (testClass == null && testConstructor != null && testMethod == null) || |
| (testClass == null && testConstructor == null && testMethod != null) ); |
| } |
| |
| public boolean isSuccess() { |
| return success; |
| } |
| } |