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

org.junit.contrib.theories.DataPoints Maven / Gradle / Ivy

package org.junit.contrib.theories;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;

/**
 * 

Marking an array or iterable-typed field or method with this annotation will cause the values in the array * or iterable given to be used as potential value for theory parameters in that class when run with the * {@link Theories} runner.

* *

Data Points will only be considered as potential values for parameters for which their types are assignable. * When multiple sets of DataPoints exist with overlapping types, more control can be obtained by naming the * data points using the value of this annotation, e.g. with @DataPoints({"dataset1", "dataset2"}), * and then specifying which named set to consider as potential values for each parameter using the * {@link FromDataPoints} annotation.

* *

Parameters with no specified source will use all data points that are assignable to the parameter type as * potential values, including named sets of data points.

* *

Data points methods whose array types aren't assignable from the target parameter type (and so can't possibly * return relevant values) will not be called when generating values for that parameter. Iterable-typed data points * methods must always be called though, as this information is not available here after generic type erasure, * so expensive methods returning iterable data points are a bad idea.

* *
 * @DataPoints
 * public static String[] dataPoints = new String[] { ... };
 *
 * @DataPoints
 * public static String[] generatedDataPoints() {
 *     return new String[] { ... };
 * }
 *
 * @Theory
 * public void theoryMethod(String param) {
 *     ...
 * }
 * 
* * @see DataPoint * @see FromDataPoints * @see Theories * @see Theory */ @Retention(RUNTIME) @Target({ FIELD, METHOD }) public @interface DataPoints { String[] value() default {}; Class[] ignoredExceptions() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy