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

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

The newest version!
package org.junit.experimental.theories;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;

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

/**
 * Annotating an array or iterable-typed field or method with @DataPoints
 * will cause the values in the array or iterable given to be used as potential
 * parameters for theories in that class when run with the
 * {@link org.junit.experimental.theories.Theories Theories} runner.
 * 

* DataPoints 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 DataPoints 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 org.junit.experimental.theories.FromDataPoints @FromDataPoints} * annotation. *

* Parameters with no specified source (i.e. without @FromDataPoints or * other {@link org.junit.experimental.theories.ParametersSuppliedBy * @ParameterSuppliedBy} annotations) will use all DataPoints that are * assignable to the parameter type as potential values, including named sets of * DataPoints. *

* DataPoints 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 datapoints * methods must always be called though, as this information is not available * here after generic type erasure, so expensive methods returning iterable * datapoints 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 org.junit.experimental.theories.Theories * @see org.junit.experimental.theories.Theory * @see org.junit.experimental.theories.DataPoint * @see org.junit.experimental.theories.FromDataPoints */ @Retention(RetentionPolicy.RUNTIME) @Target({ FIELD, METHOD }) public @interface DataPoints { String[] value() default {}; Class[] ignoredExceptions() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy