xref: /aosp_15_r20/external/junit-params/src/main/java/junitparams/FileParameters.java (revision b2c653efad15baf736c94ef04454e05088f2cbb7)
1*b2c653efSSorin Basca package junitparams;
2*b2c653efSSorin Basca 
3*b2c653efSSorin Basca import java.lang.annotation.ElementType;
4*b2c653efSSorin Basca import java.lang.annotation.Retention;
5*b2c653efSSorin Basca import java.lang.annotation.RetentionPolicy;
6*b2c653efSSorin Basca import java.lang.annotation.Target;
7*b2c653efSSorin Basca 
8*b2c653efSSorin Basca import junitparams.custom.CustomParameters;
9*b2c653efSSorin Basca import junitparams.custom.FileParametersProvider;
10*b2c653efSSorin Basca import junitparams.mappers.DataMapper;
11*b2c653efSSorin Basca import junitparams.mappers.IdentityMapper;
12*b2c653efSSorin Basca 
13*b2c653efSSorin Basca /**
14*b2c653efSSorin Basca  * Denotes that parameters for a annotated test method should be taken from an
15*b2c653efSSorin Basca  * external resource.
16*b2c653efSSorin Basca  *
17*b2c653efSSorin Basca  * @author Pawel Lipinski
18*b2c653efSSorin Basca  */
19*b2c653efSSorin Basca @Retention(RetentionPolicy.RUNTIME)
20*b2c653efSSorin Basca @Target(ElementType.METHOD)
21*b2c653efSSorin Basca @CustomParameters(provider = FileParametersProvider.class)
22*b2c653efSSorin Basca public @interface FileParameters {
23*b2c653efSSorin Basca 
24*b2c653efSSorin Basca     /**
25*b2c653efSSorin Basca      * File name (with full path) of the file with data.
26*b2c653efSSorin Basca      */
value()27*b2c653efSSorin Basca     String value();
28*b2c653efSSorin Basca 
29*b2c653efSSorin Basca     /**
30*b2c653efSSorin Basca      * The mapper which knows how to get the data from the external resource and
31*b2c653efSSorin Basca      * turn it into a valid set of parameters. By default it is an
32*b2c653efSSorin Basca      * IdentityMapper, meaning the resource has exactly the same format as the
33*b2c653efSSorin Basca      * <p/>
34*b2c653efSSorin Basca      * &#064;Parameters annotation value (when passed as String), being CSV.
35*b2c653efSSorin Basca      */
mapper()36*b2c653efSSorin Basca     Class<? extends DataMapper> mapper() default IdentityMapper.class;
37*b2c653efSSorin Basca 
38*b2c653efSSorin Basca     /**
39*b2c653efSSorin Basca      * Encoding to use when reading file contents.
40*b2c653efSSorin Basca      */
encoding()41*b2c653efSSorin Basca     String encoding() default "UTF-8";
42*b2c653efSSorin Basca 
43*b2c653efSSorin Basca }
44