17ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herrpackage test.hook; 27ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr 37ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herrimport org.testng.*; 47ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herrimport org.testng.annotations.DataProvider; 57ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herrimport org.testng.annotations.Test; 67ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr 77ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herrimport javax.inject.Named; 87ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herrimport java.lang.annotation.Annotation; 97ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herrimport java.lang.reflect.Method; 107ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr 117ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herrpublic class HookSuccess862Test implements IHookable { 127ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr 137ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr @Override 147ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr public void run(IHookCallBack callBack, ITestResult testResult) { 157ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr Method method = testResult.getMethod().getConstructorOrMethod().getMethod(); 167ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr for (int i = 0; i < callBack.getParameters().length; i++) { 177ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr Annotation[] annotations = method.getParameterAnnotations()[i]; 187ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr for (Annotation annotation : annotations) { 197ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr if (annotation instanceof Named) { 207ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr Named named = (Named) annotation; 217ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr callBack.getParameters()[0] = callBack.getParameters()[0] + named.value(); 227ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr } 237ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr } 247ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr } 257ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr callBack.runTestMethod(testResult); 267ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr } 277ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr 287ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr @DataProvider 297ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr public Object[][] dp() { 307ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr return new Object[][]{ 317ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr new Object[]{"foo", "test"} 327ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr }; 337ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr } 347ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr 357ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr @Test(dataProvider = "dp") 367ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr public void verify(@Named("bar") String bar, String test) { 377ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr Assert.assertEquals(bar, "foobar"); 387ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr Assert.assertEquals(test, "test"); 397ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr } 407ddaf4ad00a94ae1dcc501cfdd75a92da6d22da9Julien Herr} 41