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

junitparams.internal.parameters.toarray.SimpleIterableResultToArray Maven / Gradle / Ivy

There is a newer version: 1.1.1
Show newest version
package junitparams.internal.parameters.toarray;

import java.util.ArrayList;
import java.util.List;

class SimpleIterableResultToArray implements ResultToArray {
    private final Object result;

    SimpleIterableResultToArray(Object result) {
        this.result = result;
    }

    @Override
    public boolean isApplicable() {
        return Iterable.class.isAssignableFrom(result.getClass());
    }

    @Override
    public Object[] convert() {
        try {
            List res = new ArrayList();
            for (Object[] paramSet : (Iterable) result)
                res.add(paramSet);
            return res.toArray();
        } catch (ClassCastException e1) {
            // Iterable with consecutive paramsets, each of one param
            List res = new ArrayList();
            for (Object param : (Iterable) result)
                res.add(new Object[]{param});
            return res.toArray();
        }
    }
}