1682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beustpackage org.testng; 2682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust 340be3857088566120685adb7d52a5e61f9a0601fCédric Beustimport org.testng.internal.MethodInstance; 440be3857088566120685adb7d52a5e61f9a0601fCédric Beust 5682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beustimport java.util.Collections; 6682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beustimport java.util.List; 7682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust 8682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust/** 9682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust * A method interceptor that preserves the order in which test classes were found in 10682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust * the <test> tag. 110f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin * 12682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust * @author cbeust 13682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust * 14682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust */ 157d239aabc611adf9baa78d919b6ce9f7a14c680cnullinclass PreserveOrderMethodInterceptor implements IMethodInterceptor { 16682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust 179a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust private void p(List<IMethodInstance> methods, String s) { 189a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust System.out.println("[PreserveOrderMethodInterceptor] " + s); 199a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust for (IMethodInstance mi : methods) { 209a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust System.out.println(" " + mi.getMethod().getMethodName() 219a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust + " index:" + mi.getMethod().getTestClass().getXmlClass().getIndex()); 229a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust } 239a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust } 249a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust 25682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust @Override 26682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust public List<IMethodInstance> intercept(List<IMethodInstance> methods, ITestContext context) { 279a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust// p(methods, "Before"); 28682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust Collections.sort(methods, MethodInstance.SORT_BY_INDEX); 299a4f87bb0fd693131a41cc2b2503f3417ee0ab6dCédric Beust// p(methods, "After"); 30682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust return methods; 31682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust } 32682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust 33682629c7059fca8adc2cc2eacdb2d372d7a28c3dCédric Beust} 34