package net.thucydides.core.csv; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import java.util.Arrays; import java.util.Collection; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; @RunWith(Parameterized.class) public class WhenConvertingColumnHeadingsToFieldNames { private String columnName; private String expectedFieldName; public WhenConvertingColumnHeadingsToFieldNames(final String columnName, final String expectedFieldName) { this.columnName = columnName; this.expectedFieldName = expectedFieldName; } @Parameters public static Collection<Object[]> data() { Object[][] data = new Object[][] {{"phone", "phone"}, {"Phone", "phone"}, {" Phone ", "phone"}, {"PHONE", "phone"}, {"Date Of Birth", "dateOfBirth"}, {"DATE OF BIRTH", "dateOfBirth"}, {" DATE OF BIRTH ", "dateOfBirth"}, {"date of birth", "dateOfBirth"}}; return Arrays.asList(data); } @Test public void should_convert_column_name_to_javabean_property_name() { String normalizedName = FieldName.from(columnName).inNormalizedForm(); assertThat(normalizedName, is(expectedFieldName)); } }