]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.util/ext/test/org/argeo/util/CsvParserTestCase.java
Make web socket configuration more extensible.
[lgpl/argeo-commons.git] / org.argeo.util / ext / test / org / argeo / util / CsvParserTestCase.java
1 /*
2 * Copyright (C) 2007-2012 Argeo GmbH
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.argeo.util;
17
18 import java.io.ByteArrayInputStream;
19 import java.io.InputStream;
20 import java.util.List;
21
22 import junit.framework.TestCase;
23
24 public class CsvParserTestCase extends TestCase {
25 public void testParse() throws Exception {
26 String toParse = "Header1,\"Header\n2\",Header3,\"Header4\"\n"
27 + "Col1,\"Col\n2\",Col3,\"\"\"Col4\"\"\"\n"
28 + "Col1,\"Col\n2\",Col3,\"\"\"Col4\"\"\"\n"
29 + "Col1,\"Col\n2\",Col3,\"\"\"Col4\"\"\"\n";
30
31 InputStream in = new ByteArrayInputStream(toParse.getBytes());
32
33 CsvParser csvParser = new CsvParser() {
34 protected void processLine(Integer lineNumber, List<String> header,
35 List<String> tokens) {
36 assertEquals(header.size(), tokens.size());
37 assertEquals(4, tokens.size());
38 assertEquals("Col1", tokens.get(0));
39 assertEquals("Col\n2", tokens.get(1));
40 assertEquals("Col3", tokens.get(2));
41 assertEquals("\"Col4\"", tokens.get(3));
42 }
43 };
44
45 csvParser.parse(in);
46 in.close();
47 }
48
49 }