package org.activityinfo.core.shared.importing.match;
/*
* #%L
* ActivityInfo Server
* %%
* Copyright (C) 2009 - 2013 UNICEF
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/
import org.activityinfo.core.server.type.converter.JvmConverterFactory;
import org.activityinfo.model.type.FieldTypeClass;
import org.junit.Assert;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
/**
* @author yuriyz on 5/9/14.
*/
public class ColumnTypeGuesserTest {
@Test
public void type() {
assertType(FieldTypeClass.QUANTITY, "1", "2", "3");
assertType(FieldTypeClass.QUANTITY, "0.1", "2.54", "334");
assertType(FieldTypeClass.LOCAL_DATE, "2012-12-18");
assertType(FieldTypeClass.LOCAL_DATE, "2012/12/18");
assertType(FieldTypeClass.LOCAL_DATE, "2012-12-18 12:38:40.0");
assertType(FieldTypeClass.FREE_TEXT, "df", "fsdf", "ff");
assertType(FieldTypeClass.NARRATIVE, "fKholishaur dffsdffsdffsdffsdffsdffsdfdfsdfsdfsdgfdfghdfgddddddddddddddddddddddddddddddddd", "fKholishaur fsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdffsdfdffsdffsdffsdffsdffsdffsdfdffsdffsdffsdffsdffsdffsdfdffsdffsdffsdffsdffsdffsdf", "ff");
}
private void assertType(FieldTypeClass exptectedType, String... columnValueList) {
List<String> columnValues = Arrays.asList(columnValueList);
ColumnTypeGuesser guesser = new ColumnTypeGuesser(columnValues, JvmConverterFactory.get());
final FieldTypeClass formFieldType = guesser.guessType();
Assert.assertEquals(exptectedType, formFieldType);
}
}