package org.testng;

import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

Helper methods used by the Eclipse plug-in when converting tests from JUnit.
Author:Cedric Beust
/** * Helper methods used by the Eclipse plug-in when converting tests from JUnit. * * @author Cedric Beust <cedric@beust.com> * */
public class ConversionUtils {
Turns the output of a JUnit 4 @Parameters style data provider into one that is suitable for TestNG's @DataProvider.
/** * Turns the output of a JUnit 4 @Parameters style data provider into * one that is suitable for TestNG's @DataProvider. */
public static Object[] wrapDataProvider(Class cls, Collection<Object[]> data) { List result = new ArrayList(); for (Object o : data) { Object[] parameters = (Object[]) o; Constructor ctor = null; try { for (Constructor c : cls.getConstructors()) { // Just comparing parameter array sizes. Comparing the parameter types // is more error prone since we need to take conversions into account // (int -> Integer, etc...). if (c.getParameterTypes().length == parameters.length) { ctor = c; break; } } if (ctor == null) { throw new TestNGException("Couldn't find a constructor in " + cls); } result.add(ctor.newInstance(parameters)); } catch (Exception ex) { ex.printStackTrace(); } } return result.toArray(); } }