All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.testng.internal.InstanceBasedParallelParallelWorker Maven / Gradle / Ivy

There is a newer version: 7.10.1
Show newest version
package org.testng.internal;

import org.testng.IMethodInstance;
import org.testng.ITestNGMethod;
import org.testng.collections.ListMultiMap;
import org.testng.collections.Lists;
import org.testng.collections.Maps;
import org.testng.internal.thread.graph.IWorker;

import java.util.List;
import java.util.Map;

class InstanceBasedParallelParallelWorker extends AbstractParallelWorker {
    @Override
    public List> createWorkers(Arguments arguments) {
        ListMultiMap lmm = Maps.newSortedListMultiMap();
        for (ITestNGMethod m : arguments.getMethods()) {
            lmm.put(m.getInstance(), m);
        }
        List> result = Lists.newArrayList();
        for (Map.Entry> es : lmm.entrySet()) {
            List methodInstances = MethodHelper.methodsToMethodInstances(es.getValue());
            TestMethodWorker tmw = new TestMethodWorker(arguments.getInvoker(),
                    methodInstances,
                    arguments.getTestContext().getCurrentXmlTest().getSuite(),
                    arguments.getTestContext().getCurrentXmlTest().getAllParameters(),
                    arguments.getConfigMethods(),
                    arguments.getClassMethodMap(),
                    arguments.getTestContext(),
                    arguments.getListeners());
            result.add(tmw);
        }

        return result;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy