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

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

There is a newer version: 2.12.15
Show 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 field or method with @DataPoint will cause the field value
 * or the value returned by the method to be used as a potential parameter for
 * theories in that class, when run with the
 * {@link org.junit.experimental.theories.Theories Theories} runner.
 * 

* A DataPoint is only considered as a potential value for parameters for * which its type is assignable. When multiple {@code DataPoint}s exist * with overlapping types more control can be obtained by naming each DataPoint * using the value of this annotation, e.g. with * @DataPoint({"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 {@code DataPoint}s that are * assignable to the parameter type as potential values, including named sets of * {@code DataPoint}s. * *

 * @DataPoint
 * public static String dataPoint = "value";
 * 
 * @DataPoint("generated")
 * public static String generatedDataPoint() {
 *     return "generated value";
 * }
 * 
 * @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 DataPoint { String[] value() default {}; Class[] ignoredExceptions() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy