package com.insightfullogic.honest_profiler.framework; import static com.insightfullogic.honest_profiler.framework.LogEventFactory.SCENARIOS; import static java.util.Arrays.asList; import java.util.ArrayList; import java.util.Collection; import java.util.List; import com.insightfullogic.honest_profiler.core.aggregation.grouping.FrameGrouping; import com.insightfullogic.honest_profiler.core.aggregation.grouping.ThreadGrouping; /** * Utility class for constructing parameter collections for JUnit parameterized tests. */ public class ParameterUtil { // Class Methods public static final Collection<Object[]> getScenarios() { List<Object[]> result = new ArrayList<>(); SCENARIOS.forEach(sc -> result.add(new Object[] { sc })); return result; } public static final Collection<Object[]> getScenariosAndFrameGroupings() { List<Object[]> result = new ArrayList<>(); SCENARIOS.forEach(sc -> asList(FrameGrouping.values()).forEach(fg -> result.add(new Object[] { sc, fg }))); return result; } public static final Collection<Object[]> getScenariosAndGroupings() { List<Object[]> result = new ArrayList<>(); SCENARIOS.forEach( sc -> asList(ThreadGrouping.values()) .forEach(tg -> asList(FrameGrouping.values()).forEach(fg -> result.add(new Object[] { sc, tg, fg })))); return result; } // Instance Constructors private ParameterUtil() { // Private utility class constructor. } }