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

com.github.dakusui.jcunit8.runners.helpers.ParameterUtils Maven / Gradle / Ivy

The newest version!
package com.github.dakusui.jcunit8.runners.helpers;

import com.github.dakusui.jcunit.core.tuples.Tuple;
import com.github.dakusui.jcunit.fsm.spec.FsmSpec;
import com.github.dakusui.jcunit8.factorspace.GroupedParameterFactoryBuilder;
import com.github.dakusui.jcunit8.factorspace.Parameter;
import com.github.dakusui.jcunit8.factorspace.SequenceParameterFactoryBuilder;

import java.util.function.Function;

import static java.util.Arrays.asList;

public enum ParameterUtils {
  ;

  @SafeVarargs
  public static  Parameter.Simple.Factory simple(T... values) {
    return Parameter.Simple.Factory.of(asList(values));
  }

  public static  Parameter.Regex.Factory regex(String regex, Function function) {
    return Parameter.Regex.Factory.of(regex, function);
  }

  public static Parameter.Regex.Factory regex(String regex) {
    return regex(regex, Function.identity());
  }

  public static  Parameter.Fsm.Factory fsm(Class> fsmSpecClass, int scenarioLength) {
    return Parameter.Fsm.Factory.of(fsmSpecClass, scenarioLength);
  }

  @SafeVarargs
  public static  SequenceParameterFactoryBuilder sequence(T... args) {
    return new SequenceParameterFactoryBuilder<>(asList(args));
  }

  public static  GroupedParameterFactoryBuilder grouped(Function translator) {
    return new GroupedParameterFactoryBuilder<>(translator);
  }

  public static GroupedParameterFactoryBuilder grouped() {
    return grouped(Function.identity());
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy