/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.solr.internal.csv; import junit.framework.TestCase; /** * CSVStrategyTest * * The test are organized in three different sections: * The 'setter/getter' section, the lexer section and finally the strategy * section. In case a test fails, you should follow a top-down approach for * fixing a potential bug (it's likely that the strategy itself fails if the lexer * has problems...). */ public class CSVStrategyTest extends TestCase { // ====================================================== // getters / setters // ====================================================== public void testGetSetCommentStart() { CSVStrategy strategy = (CSVStrategy)CSVStrategy.DEFAULT_STRATEGY.clone(); strategy.setCommentStart('#'); assertEquals(strategy.getCommentStart(), '#'); strategy.setCommentStart('!'); assertEquals(strategy.getCommentStart(), '!'); } public void testGetSetEncapsulator() { CSVStrategy strategy = (CSVStrategy)CSVStrategy.DEFAULT_STRATEGY.clone(); strategy.setEncapsulator('"'); assertEquals(strategy.getEncapsulator(), '"'); strategy.setEncapsulator('\''); assertEquals(strategy.getEncapsulator(), '\''); } public void testGetSetDelimiter() { CSVStrategy strategy = (CSVStrategy)CSVStrategy.DEFAULT_STRATEGY.clone(); strategy.setDelimiter(';'); assertEquals(strategy.getDelimiter(), ';'); strategy.setDelimiter(','); assertEquals(strategy.getDelimiter(), ','); strategy.setDelimiter('\t'); assertEquals(strategy.getDelimiter(), '\t'); } public void testSetCSVStrategy() { CSVStrategy strategy = CSVStrategy.DEFAULT_STRATEGY; // default settings assertEquals(strategy.getDelimiter(), ','); assertEquals(strategy.getEncapsulator(), '"'); assertEquals(strategy.getCommentStart(), CSVStrategy.COMMENTS_DISABLED); assertEquals(true, strategy.getIgnoreLeadingWhitespaces()); assertEquals(false, strategy.getUnicodeEscapeInterpretation()); assertEquals(true, strategy.getIgnoreEmptyLines()); // explicit csv settings assertEquals(strategy.getDelimiter(), ','); assertEquals(strategy.getEncapsulator(), '"'); assertEquals(strategy.getCommentStart(), CSVStrategy.COMMENTS_DISABLED); assertEquals(true, strategy.getIgnoreLeadingWhitespaces()); assertEquals(false, strategy.getUnicodeEscapeInterpretation()); assertEquals(true, strategy.getIgnoreEmptyLines()); } public void testSetExcelStrategy() { CSVStrategy strategy = CSVStrategy.EXCEL_STRATEGY; assertEquals(strategy.getDelimiter(), ','); assertEquals(strategy.getEncapsulator(), '"'); assertEquals(strategy.getCommentStart(), CSVStrategy.COMMENTS_DISABLED); assertEquals(false, strategy.getIgnoreLeadingWhitespaces()); assertEquals(false, strategy.getUnicodeEscapeInterpretation()); assertEquals(false, strategy.getIgnoreEmptyLines()); } }