package io.konik.csv;
import io.konik.csv.mapper.CsvMapperBuilder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.supercsv.prefs.CsvPreference;
import java.io.File;
import java.text.ParseException;
import java.util.Arrays;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.runners.Parameterized.Parameter;
import static org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class CsvMapperBuilderCsvPreferenceRecognitionFailTest {
@Parameter
public String fileName;
@Parameter(1)
public CsvPreference expectedPreference;
@Parameters(name = "{0}")
public static Iterable<Object[]> getParams() throws ParseException {
return Arrays.asList(
new Object[] { "standard_preference_01.csv", CsvPreference.STANDARD_PREFERENCE },
new Object[] { "standard_preference_02.csv", CsvPreference.STANDARD_PREFERENCE },
new Object[] { "standard_preference_03.csv", CsvPreference.STANDARD_PREFERENCE },
new Object[] { "excel_north_eu_01.csv", CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE },
new Object[] { "excel_north_eu_02.csv", CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE },
new Object[] { "excel_north_eu_03.csv", CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE }
);
}
@Test
public void confirmThatColumnDefinitionForGivenHeaderExists() {
//when:
CsvPreference csvPreference = CsvMapperBuilder.recognizeCsvPreference(new File("src/test/resources/csv/recognition/" + fileName));
//then:
assertThat(csvPreference).isEqualTo(expectedPreference);
}
}