Author: mvdb
Date: Tue Jan 31 15:37:16 2006
New Revision: 373943
URL: http://svn.apache.org/viewcvs?rev=373943&view=rev
Log:
Testcases for CSVWriter.
Added:
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigGuesserTest.java
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigTest.java
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVFieldTest.java
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVWriterTest.java
Added:
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigGuesserTest.java
URL:
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigGuesserTest.java?rev=373943&view=auto
==============================================================================
---
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigGuesserTest.java
(added)
+++
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigGuesserTest.java
Tue Jan 31 15:37:16 2006
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.csv.writer;
+
+import java.io.ByteArrayInputStream;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests for the config guesser.
+ *
+ * @author Martin van den Bemt
+ * @version $Id: $
+ */
+public class CSVConfigGuesserTest extends TestCase {
+
+ public void testSetters() throws Exception {
+ CSVConfigGuesser guesser = new CSVConfigGuesser();
+ ByteArrayInputStream in = new ByteArrayInputStream(new byte[0]);
+ guesser.setInputStream(in);
+ assertEquals(in, guesser.getInputStream());
+ guesser = new CSVConfigGuesser(in);
+ assertEquals(in, guesser.getInputStream());
+ assertEquals(false, guesser.hasFieldHeader());
+ guesser.setHasFieldHeader(true);
+ assertEquals(true, guesser.hasFieldHeader());
+ }
+ /**
+ * Test a format like
+ * 1234 ; abcd ; 1234 ;
+ *
+ */
+ public void testConfigGuess1() {
+ CSVConfig expected = new CSVConfig();
+ expected.setDelimiter(';');
+ expected.setValueDelimiter(' ');
+ expected.setFill(CSVConfig.FILLRIGHT);
+ expected.setIgnoreValueDelimiter(false);
+ expected.setFixedWidth(true);
+ CSVField field = new CSVField();
+ field.setSize(4);
+ expected.addField(field);
+ expected.addField(field);
+ StringBuffer sb = new StringBuffer();
+ sb.append("1234;abcd;1234\n");
+ sb.append("abcd;1234;abcd");
+ ByteArrayInputStream in = new
ByteArrayInputStream(sb.toString().getBytes());
+ CSVConfigGuesser guesser = new CSVConfigGuesser(in);
+ CSVConfig guessed = guesser.guess();
+ assertEquals(expected.isFixedWidth(), guessed.isFixedWidth());
+ assertEquals(expected.getFields().length, guessed.getFields().length);
+ assertEquals(expected.getFields()[0].getSize(),
guessed.getFields()[0].getSize());
+ }
+ /**
+ * Test a format like
+ * 1234,123123,12312312,213123
+ * 1,2,3,4
+ *
+ */
+ public void testConfigGuess2() {
+ CSVConfig expected = new CSVConfig();
+ expected.setDelimiter(';');
+ expected.setValueDelimiter(' ');
+ expected.setFill(CSVConfig.FILLRIGHT);
+ expected.setIgnoreValueDelimiter(false);
+// expected.setFixedWidth(false);
+ StringBuffer sb = new StringBuffer();
+ sb.append("1,2,3,4\n");
+ sb.append("abcd,1234,abcd,1234");
+ ByteArrayInputStream in = new
ByteArrayInputStream(sb.toString().getBytes());
+ CSVConfigGuesser guesser = new CSVConfigGuesser(in);
+ CSVConfig guessed = guesser.guess();
+ assertEquals(expected.isFixedWidth(), guessed.isFixedWidth());
+ }
+}
Added:
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigTest.java
URL:
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigTest.java?rev=373943&view=auto
==============================================================================
---
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigTest.java
(added)
+++
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVConfigTest.java
Tue Jan 31 15:37:16 2006
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.csv.writer;
+
+import java.util.Collection;
+
+import junit.framework.TestCase;
+
+/**
+ * Testcase for the CSVConfig
+ *
+ * @author Martin van den Bemt
+ * @version $Id: $
+ */
+public class CSVConfigTest extends TestCase {
+
+
+ public void testFixedWith() {
+ CSVConfig config = new CSVConfig();
+ assertEquals(false, config.isFixedWidth());
+ config.setFixedWidth(true);
+ assertEquals(true, config.isFixedWidth());
+ }
+
+ public void testFields() {
+ CSVConfig config = new CSVConfig();
+ assertEquals(0, config.getFields().length);
+ config.setFields((CSVField[])null);
+ assertEquals(0, config.getFields().length);
+ config.setFields((Collection)null);
+ assertEquals(0, config.getFields().length);
+ CSVField field = new CSVField();
+ field.setName("field1");
+ config.addField(field);
+ assertEquals(field, config.getFields()[0]);
+ assertEquals(null, config.getField(null));
+ assertEquals(null, config.getField("field11"));
+ assertEquals(field, config.getField("field1"));
+ }
+
+ public void testFill() {
+ CSVConfig config = new CSVConfig();
+ assertEquals(CSVConfig.FILLNONE, config.getFill());
+ config.setFill(CSVConfig.FILLLEFT);
+ assertEquals(CSVConfig.FILLLEFT, config.getFill());
+ config.setFill(CSVConfig.FILLRIGHT);
+ assertEquals(CSVConfig.FILLRIGHT, config.getFill());
+ assertEquals(' ', config.getFillChar());
+ config.setFillChar('m');
+ assertEquals('m', config.getFillChar());
+ }
+
+ public void testDelimiter() {
+ CSVConfig config = new CSVConfig();
+ assertEquals(',', config.getDelimiter());
+ config.setDelimiter(';');
+ assertEquals(';', config.getDelimiter());
+ assertEquals(false, config.isDelimiterIgnored());
+ config.setIgnoreDelimiter(true);
+ assertEquals(true, config.isDelimiterIgnored());
+ }
+
+ public void testValueDelimiter() {
+ CSVConfig config = new CSVConfig();
+ assertEquals('"', config.getValueDelimiter());
+ config.setValueDelimiter('m');
+ assertEquals('m', config.getValueDelimiter());
+ assertEquals(true, config.isValueDelimiterIgnored());
+ config.setIgnoreValueDelimiter(false);
+ assertEquals(false, config.isValueDelimiterIgnored());
+ }
+
+ public void testFieldHeader() {
+ CSVConfig config = new CSVConfig();
+ assertEquals(false, config.isFieldHeader());
+ config.setFieldHeader(true);
+ assertEquals(true, config.isFieldHeader());
+ }
+
+ public void testTrimEnd() {
+ CSVConfig config = new CSVConfig();
+ assertEquals(false, config.isEndTrimmed());
+ config.setEndTrimmed(true);
+ assertEquals(true, config.isEndTrimmed());
+ }
+
+}
Added:
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVFieldTest.java
URL:
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVFieldTest.java?rev=373943&view=auto
==============================================================================
---
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVFieldTest.java
(added)
+++
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVFieldTest.java
Tue Jan 31 15:37:16 2006
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.csv.writer;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @author Martin van den Bemt
+ * @version $Id: $
+ */
+public class CSVFieldTest extends TestCase {
+
+ public void testCSVField() {
+ CSVField field = new CSVField();
+ assertEquals(null, field.getName());
+ field.setName("id");
+ assertEquals("id", field.getName());
+ assertEquals(0, field.getSize());
+ field.setSize(10);
+ assertEquals(10, field.getSize());
+ field = new CSVField("name");
+ assertEquals("name", field.getName());
+ field = new CSVField("name", 10);
+ assertEquals("name", field.getName());
+ assertEquals(10, field.getSize());
+ }
+
+ public void testFill() {
+ CSVField field = new CSVField();
+ assertEquals(CSVConfig.FILLNONE, field.getFill());
+ assertEquals(false, field.overrideFill());
+ field.setFill(CSVConfig.FILLLEFT);
+ assertEquals(true, field.overrideFill());
+ assertEquals(CSVConfig.FILLLEFT, field.getFill());
+ }
+}
Added:
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVWriterTest.java
URL:
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVWriterTest.java?rev=373943&view=auto
==============================================================================
---
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVWriterTest.java
(added)
+++
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/writer/CSVWriterTest.java
Tue Jan 31 15:37:16 2006
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */package org.apache.commons.csv.writer;
+
+import java.io.StringWriter;
+import java.util.HashMap;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+/**
+ * The testcase for the csv writer.
+ *
+ * @author Martin van den Bemt
+ * @version $Id: $
+ */
+public class CSVWriterTest extends TestCase {
+
+ public void testCSVConfig() {
+ CSVWriter writer = new CSVWriter();
+ assertEquals(null, writer.getConfig());
+ CSVConfig config = new CSVConfig();
+ writer.setConfig(config);
+ assertEquals(config, writer.getConfig());
+ writer = new CSVWriter(config);
+ assertEquals(config, writer.getConfig());
+ }
+
+ public void testWriter() {
+ CSVWriter writer = new CSVWriter();
+ CSVConfig config = new CSVConfig();
+ config.addField(new CSVField("field1", 5));
+ config.addField(new CSVField("field2", 4));
+ writer.setConfig(config);
+ StringWriter sw = new StringWriter();
+ writer.setWriter(sw);
+ Map map = new HashMap();
+ map.put("field1", "12345");
+ map.put("field2", "1234");
+ writer.writeRecord(map);
+ assertEquals("12345,1234\n",sw.toString());
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]