From: <zep...@us...> - 2007-04-21 15:42:11
|
Revision: 298 http://svn.sourceforge.net/pzfilereader/?rev=298&view=rev Author: zepernick Date: 2007-04-21 08:42:12 -0700 (Sat, 21 Apr 2007) Log Message: ----------- added unit test for case sensitivity Modified Paths: -------------- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/parserutils/ParserUtilsTest.java Modified: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/parserutils/ParserUtilsTest.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/parserutils/ParserUtilsTest.java 2007-04-21 15:41:43 UTC (rev 297) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/parserutils/ParserUtilsTest.java 2007-04-21 15:42:12 UTC (rev 298) @@ -1,10 +1,15 @@ package net.sf.pzfilereader.parserutils; import java.io.IOException; +import java.io.StringReader; import java.math.BigDecimal; -import java.util.List; +import java.util.NoSuchElementException; import java.util.Properties; +import net.sf.pzfilereader.DataSet; +import net.sf.pzfilereader.DefaultPZParserFactory; +import net.sf.pzfilereader.PZParser; +import net.sf.pzfilereader.util.PZConstants; import net.sf.pzfilereader.util.ParserUtils; import junit.framework.TestCase; /** @@ -55,6 +60,36 @@ assertEquals(ParserUtils.runPzConverter(convertProps, "$5.00C", Integer.class), new Integer("5")); assertEquals(ParserUtils.runPzConverter(convertProps, "$5.3556", BigDecimal.class), new BigDecimal("5.3556")); } + + public void testCaseSensitiveMetaData() { + DataSet ds; + final String cols = "COLUMN1,column2,Column3\r\n value1,value2,value3"; + PZParser p = DefaultPZParserFactory.getInstance().newDelimitedParser( + new StringReader(cols), ',', PZConstants.NO_QUALIFIER); + + //check that column names are case sensitive + p.setColumnNamesCaseSensitive(true); + ds = p.parse(); + ds.next(); + try { + ds.getString("COLUMN2"); + fail("Column was mapped as 'column2' and lookup was 'COLUMN2'...should fail with case sensitivity turned on"); + } catch (NoSuchElementException e) { + //this should happen since we are matching case + } + + //check that column names are NOT case sensitive + p = DefaultPZParserFactory.getInstance().newDelimitedParser( + new StringReader(cols), ',', PZConstants.NO_QUALIFIER); + p.setColumnNamesCaseSensitive(false); + ds = p.parse(); + ds.next(); + try { + ds.getString("COLUMN2"); + } catch (NoSuchElementException e) { + fail("Column was mapped as 'column2' and lookup was 'COLUMN2'...should NOT fail with case sensitivity turned OFF"); + } + } public static void main(final String[] args) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |