From c92dcc7dcc2150099e701480502fdcf217fa7724 Mon Sep 17 00:00:00 2001 From: Bruno Sinou Date: Thu, 10 Mar 2011 17:55:14 +0000 Subject: [PATCH] Add unit case to test csv import with some line feed. git-svn-id: https://svn.argeo.org/commons/trunk@4281 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../argeo/util/CsvParserParseFileTest.java | 36 +++++++++--------- .../org/argeo/util/CsvParserTestCase.java | 37 ++++++++++--------- .../org/argeo/util/ReferenceFile.csv | 0 3 files changed, 37 insertions(+), 36 deletions(-) rename basic/runtime/org.argeo.basic.nodeps/src/test/{ressources => resources}/org/argeo/util/ReferenceFile.csv (100%) diff --git a/basic/runtime/org.argeo.basic.nodeps/src/test/java/org/argeo/util/CsvParserParseFileTest.java b/basic/runtime/org.argeo.basic.nodeps/src/test/java/org/argeo/util/CsvParserParseFileTest.java index 4a134a578..811758a13 100644 --- a/basic/runtime/org.argeo.basic.nodeps/src/test/java/org/argeo/util/CsvParserParseFileTest.java +++ b/basic/runtime/org.argeo.basic.nodeps/src/test/java/org/argeo/util/CsvParserParseFileTest.java @@ -1,33 +1,33 @@ package org.argeo.util; -import java.io.ByteArrayInputStream; import java.io.InputStream; -import java.util.List; +import java.util.HashMap; +import java.util.Map; import junit.framework.TestCase; public class CsvParserParseFileTest extends TestCase { public void testParse() throws Exception { - String toParse = "Header1,\"Header2\",Header3,\"Header4\"\n" - + "Col1,\"Col\n2\",Col3,\"\"\"Col4\"\"\"\n" - + "Col1,\"Col\n2\",Col3,\"\"\"Col4\"\"\"\n" - + "Col1,\"Col\n2\",Col3,\"\"\"Col4\"\"\"\n"; - InputStream in = new ByteArrayInputStream(toParse.getBytes()); - - CsvParser csvParser = new CsvParser() { - protected void processLine(Integer lineNumber, List header, - List tokens) { - assertEquals(header.size(), tokens.size()); - assertEquals(4, tokens.size()); - assertEquals("Col1", tokens.get(0)); - assertEquals("Col\n2", tokens.get(1)); - assertEquals("Col3", tokens.get(2)); - assertEquals("\"Col4\"", tokens.get(3)); + final Map> lines = new HashMap>(); + InputStream in = getClass().getResourceAsStream( + "/org/argeo/util/ReferenceFile.csv"); + CsvParserWithLinesAsMap parser = new CsvParserWithLinesAsMap() { + protected void processLine(Integer lineNumber, + Map line) { + lines.put(lineNumber, line); } }; - csvParser.parse(in); + parser.parse(in); in.close(); + + for (Integer i : lines.keySet()) { + Map curLine = lines.get(i); + System.out.println("i : " + i.toString() + " - ID :" + + curLine.get("ID")); + } + assertEquals(5, lines.size()); } + } diff --git a/basic/runtime/org.argeo.basic.nodeps/src/test/java/org/argeo/util/CsvParserTestCase.java b/basic/runtime/org.argeo.basic.nodeps/src/test/java/org/argeo/util/CsvParserTestCase.java index f29b9edea..363de8bc5 100644 --- a/basic/runtime/org.argeo.basic.nodeps/src/test/java/org/argeo/util/CsvParserTestCase.java +++ b/basic/runtime/org.argeo.basic.nodeps/src/test/java/org/argeo/util/CsvParserTestCase.java @@ -1,33 +1,34 @@ package org.argeo.util; +import java.io.ByteArrayInputStream; import java.io.InputStream; -import java.util.HashMap; -import java.util.Map; +import java.util.List; import junit.framework.TestCase; public class CsvParserTestCase extends TestCase { public void testParse() throws Exception { + String toParse = "Header1,\"Header2\",Header3,\"Header4\"\n" + + "Col1,\"Col\n2\",Col3,\"\"\"Col4\"\"\"\n" + + "Col1,\"Col\n2\",Col3,\"\"\"Col4\"\"\"\n" + + "Col1,\"Col\n2\",Col3,\"\"\"Col4\"\"\"\n"; - final Map> lines = new HashMap>(); - InputStream in = getClass().getResourceAsStream( - "/org/argeo/util/ReferenceFile.csv"); - CsvParserWithLinesAsMap parser = new CsvParserWithLinesAsMap() { - protected void processLine(Integer lineNumber, - Map line) { - lines.put(lineNumber, line); + InputStream in = new ByteArrayInputStream(toParse.getBytes()); + + CsvParser csvParser = new CsvParser() { + protected void processLine(Integer lineNumber, List header, + List tokens) { + assertEquals(header.size(), tokens.size()); + assertEquals(4, tokens.size()); + assertEquals("Col1", tokens.get(0)); + assertEquals("Col\n2", tokens.get(1)); + assertEquals("Col3", tokens.get(2)); + assertEquals("\"Col4\"", tokens.get(3)); } }; - parser.parse(in); + csvParser.parse(in); in.close(); - - for (Integer i : lines.keySet()) { - Map curLine = lines.get(i); - System.out.println("i : " + i.toString() + " - EBITAG :" - + curLine.get("EBI Tag")); - } - assertEquals(11, lines.size()); - } + } diff --git a/basic/runtime/org.argeo.basic.nodeps/src/test/ressources/org/argeo/util/ReferenceFile.csv b/basic/runtime/org.argeo.basic.nodeps/src/test/resources/org/argeo/util/ReferenceFile.csv similarity index 100% rename from basic/runtime/org.argeo.basic.nodeps/src/test/ressources/org/argeo/util/ReferenceFile.csv rename to basic/runtime/org.argeo.basic.nodeps/src/test/resources/org/argeo/util/ReferenceFile.csv -- 2.30.2