package de.ppi.fuwesta.spring.mvc.formatter;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import de.ppi.fuwesta.spring.mvc.formatter.StringTrimmerConverter;
/**
* Class StringTrimmingConverterTest
*
*/
@RunWith(Parameterized.class)
public class StringTrimmerConverterTest {
@Parameters(name = "{0}.{1}.{2}")
public static Collection<Object[]> getValues() {
final List<Object[]> testdata = new ArrayList<>();
testdata.add(new Object[] { Boolean.FALSE, null, null });
testdata.add(new Object[] { Boolean.FALSE, "", "" });
testdata.add(new Object[] { Boolean.FALSE, " ", "" });
testdata.add(new Object[] { Boolean.FALSE, " a ", "a" });
testdata.add(new Object[] { Boolean.FALSE, " a b ", "a b" });
testdata.add(new Object[] { Boolean.TRUE, null, null });
testdata.add(new Object[] { Boolean.TRUE, "", null });
testdata.add(new Object[] { Boolean.TRUE, " ", null });
testdata.add(new Object[] { Boolean.TRUE, " a ", "a" });
testdata.add(new Object[] { Boolean.TRUE, " a b ", "a b" });
return testdata;
}
private final Boolean emptyAsNull;
private final String input;
private final String expectedOutput;
public StringTrimmerConverterTest(Boolean emptyAsNull, String input,
String expectedOutput) {
this.emptyAsNull = emptyAsNull;
this.input = input;
this.expectedOutput = expectedOutput;
}
/**
* Test method for
* {@link de.ppi.fuwesta.spring.mvc.formatter.StringTrimmerConverter#convert(java.lang.String)}
* .
*/
@Test
public void testConvertValue() {
final StringTrimmerConverter stringTrimmingConverter =
new StringTrimmerConverter(emptyAsNull.booleanValue());
assertThat(stringTrimmingConverter.convert(input)).isEqualTo(
expectedOutput);
}
}