* only fields that need to be quoted are quoted.
*/
public void testFieldMinimalQuoting() throws Exception
{
TestCSVMessageFormatter format = new TestCSVMessageFormatter();
CSVMessagePartMapping mapping = new CSVMessagePartMapping();
mapping.setDelimiter(Character.valueOf(','));
mapping.setQuote(Character.valueOf('\''));
mapping.setEscape(Character.valueOf('_'));
assertEquals("Lorem __ipsum", format.testFormatString(
"Lorem _ipsum",
mapping));
mapping.setEscape(null);
assertEquals("Lorem _ipsum", format.testFormatString(
"Lorem _ipsum",
mapping));
mapping.setEscape(Character.valueOf('_'));
assertEquals("'Lorem ___'ipsum'", format.testFormatString(
"Lorem _'ipsum",
mapping));
assertEquals("'Lorem __,ipsum'", format.testFormatString(
"Lorem _,ipsum",
mapping));
assertEquals("'Lorem, ipsum?'", format.testFormatString(
"Lorem, ipsum?",
mapping));
assertEquals("'Lorem _'Ipsum_''", format.testFormatString(
"Lorem 'Ipsum'",
mapping));
assertEquals("'Lorem:\nIpsum'", format.testFormatString(
"Lorem:\nIpsum",
mapping));
mapping.setOrdinal(1);
assertEquals("'a,b'", format.testFormatString("a,b", mapping));
assertEquals("a b", format.testFormatString("a b", mapping));
}