1fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffinpackage junitparams.custom.combined;
2fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin
3fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffinimport java.lang.annotation.Retention;
4fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffinimport java.lang.annotation.RetentionPolicy;
5fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin
6fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffinimport junitparams.custom.CustomParameters;
7fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin
8fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin@Retention(RetentionPolicy.RUNTIME)
9fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin@CustomParameters(provider = CombinedParametersProvider.class)
10fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffinpublic @interface CombinedParameters {
11fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin    /**
12fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * Parameter values defined as a String array.
13fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * Each of the elements is a list of values that should be tested for parameters.
14fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * Using this annotation will result in creating a n-fold cartesian product of parameter values effectively testing
15fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * each possible combination.
16fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * Values in the array must match the test method's parameters in order and type.
17fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * <p>
18fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * Example:<br>
19fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * <code>@CombinedParameters({"han,chewie","33,204"})<br>
20fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * public void shouldTestAllNameAgeCombinations(String name, Integer age)
21fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     * </code>
22fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin     */
23fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin    String[] value() default {};
24fd1f9491413fcdbfae3cbd43651db31fdabce41aPaul Duffin}
25