xref: /aosp_15_r20/external/junit-params/src/test/java/junitparams/FileParamsTest.java (revision b2c653efad15baf736c94ef04454e05088f2cbb7)
1*b2c653efSSorin Basca package junitparams;
2*b2c653efSSorin Basca 
3*b2c653efSSorin Basca import org.junit.Ignore;
4*b2c653efSSorin Basca import org.junit.Test;
5*b2c653efSSorin Basca import org.junit.runner.RunWith;
6*b2c653efSSorin Basca 
7*b2c653efSSorin Basca import junitparams.mappers.CsvWithHeaderMapper;
8*b2c653efSSorin Basca import junitparams.usage.person_example.PersonMapper;
9*b2c653efSSorin Basca import junitparams.usage.person_example.PersonTest.Person;
10*b2c653efSSorin Basca 
11*b2c653efSSorin Basca import static org.assertj.core.api.Assertions.*;
12*b2c653efSSorin Basca 
13*b2c653efSSorin Basca @RunWith(JUnitParamsRunner.class)
14*b2c653efSSorin Basca public class FileParamsTest {
15*b2c653efSSorin Basca 
16*b2c653efSSorin Basca     @Ignore("Does not work when run on device as it does not have access to the file")
17*b2c653efSSorin Basca     @Test
18*b2c653efSSorin Basca     @FileParameters("src/test/resources/test.csv")
loadParamsFromFileWithIdentityMapper(int age, String name)19*b2c653efSSorin Basca     public void loadParamsFromFileWithIdentityMapper(int age, String name) {
20*b2c653efSSorin Basca         assertThat(age).isGreaterThan(0);
21*b2c653efSSorin Basca     }
22*b2c653efSSorin Basca 
23*b2c653efSSorin Basca     @Ignore("Does not work when run on device as it does not have access to the file")
24*b2c653efSSorin Basca     @Test
25*b2c653efSSorin Basca     @FileParameters(value = "src/test/resources/test.csv", mapper = PersonMapper.class)
loadParamsFromFileWithCustomMapper(Person person)26*b2c653efSSorin Basca     public void loadParamsFromFileWithCustomMapper(Person person) {
27*b2c653efSSorin Basca         assertThat(person.getAge()).isGreaterThan(0);
28*b2c653efSSorin Basca     }
29*b2c653efSSorin Basca 
30*b2c653efSSorin Basca     @Test
31*b2c653efSSorin Basca     @FileParameters("classpath:test.csv")
loadParamsFromFileAtClasspath(int age, String name)32*b2c653efSSorin Basca     public void loadParamsFromFileAtClasspath(int age, String name) {
33*b2c653efSSorin Basca         assertThat(age).isGreaterThan(0);
34*b2c653efSSorin Basca     }
35*b2c653efSSorin Basca 
36*b2c653efSSorin Basca     @Ignore("Does not work when run on device as it does not have access to the file")
37*b2c653efSSorin Basca     @Test
38*b2c653efSSorin Basca     @FileParameters("file:src/test/resources/test.csv")
loadParamsFromFileAtFilesystem(int age, String name)39*b2c653efSSorin Basca     public void loadParamsFromFileAtFilesystem(int age, String name) {
40*b2c653efSSorin Basca         assertThat(age).isGreaterThan(0);
41*b2c653efSSorin Basca     }
42*b2c653efSSorin Basca 
43*b2c653efSSorin Basca     @Test
44*b2c653efSSorin Basca     @FileParameters(value = "classpath:with_header.csv", mapper = CsvWithHeaderMapper.class)
csvWithHeader(int id, String name)45*b2c653efSSorin Basca     public void csvWithHeader(int id, String name) {
46*b2c653efSSorin Basca         assertThat(id).isGreaterThan(0);
47*b2c653efSSorin Basca     }
48*b2c653efSSorin Basca 
49*b2c653efSSorin Basca     @Test
50*b2c653efSSorin Basca     @FileParameters(value = "classpath:with_special_chars.csv", encoding = "UTF-8")
loadParamWithCorrectEncoding(String value)51*b2c653efSSorin Basca     public void loadParamWithCorrectEncoding(String value) {
52*b2c653efSSorin Basca         assertThat(value).isEqualTo("åäöÅÄÖ");
53*b2c653efSSorin Basca     }
54*b2c653efSSorin Basca 
55*b2c653efSSorin Basca     @Test
56*b2c653efSSorin Basca     @FileParameters(value = "classpath:with_special_chars.csv", encoding = "ISO-8859-1")
loadParamWithWrongEncoding(String value)57*b2c653efSSorin Basca     public void loadParamWithWrongEncoding(String value) {
58*b2c653efSSorin Basca         assertThat(value).isNotEqualTo("åäöÅÄÖ");
59*b2c653efSSorin Basca     }
60*b2c653efSSorin Basca }
61