123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- /*
- * Copyright 2000-2016 Vaadin Ltd.
- *
- * 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 com.vaadin.v7.tests.data.converter;
-
- import java.math.BigDecimal;
- import java.math.BigInteger;
- import java.util.Date;
- import java.util.Locale;
-
- import org.junit.Assert;
- import org.junit.Test;
-
- import com.vaadin.v7.data.util.converter.DefaultConverterFactory;
-
- public class DefaultConverterFactoryTest {
-
- private DefaultConverterFactory factory = new DefaultConverterFactory();
-
- @Test
- public void stringToBigDecimal() {
- assertConverter("14", new BigDecimal("14"));
- }
-
- @Test
- public void stringToBigInteger() {
- assertConverter("14", new BigInteger("14"));
- }
-
- @Test
- public void stringToDouble() {
- assertConverter("14", new Double("14"));
- }
-
- @Test
- public void stringToFloat() {
- assertConverter("14", new Float("14"));
- }
-
- @Test
- public void stringToInteger() {
- assertConverter("14", new Integer("14"));
- }
-
- @Test
- public void stringToLong() {
- assertConverter("14", new Long("14"));
- }
-
- @SuppressWarnings("deprecation")
- @Test
- public void stringToDate() {
- assertConverter("Oct 12, 2014 12:00:00 AM",
- new Date(2014 - 1900, 10 - 1, 12));
- }
-
- @Test
- public void sqlDateToDate() {
- long l = 1413071210000L;
- assertConverter(new java.sql.Date(l), new java.util.Date(l));
- }
-
- @SuppressWarnings("deprecation")
- @Test
- public void longToDate() {
- Date d = new Date(2014 - 1900, 10 - 1, 12);
- assertConverter(
- 1413061200000L + (d.getTimezoneOffset() + 180) * 60 * 1000L, d);
- }
-
- public enum Foo {
- BAR, BAZ;
- }
-
- @Test
- public void stringToEnum() {
- assertConverter("Bar", Foo.BAR);
- }
-
- @Test
- public void stringToShort() {
- assertConverter("14", new Short("14"));
- }
-
- @Test
- public void stringToByte() {
- assertConverter("14", new Byte("14"));
- }
-
- private <T, U> void assertConverter(T t, U u) {
- Class<T> tClass = (Class<T>) t.getClass();
- Class<U> uClass = (Class<U>) u.getClass();
-
- U tConvertedToU = factory.createConverter(tClass, uClass)
- .convertToModel(t, uClass, Locale.ENGLISH);
- Assert.assertEquals("Incorrect type of value converted from "
- + tClass.getSimpleName() + " to " + uClass.getSimpleName(),
- uClass, tConvertedToU.getClass());
- Assert.assertEquals("Incorrect conversion of " + t + " to "
- + uClass.getSimpleName(), u, tConvertedToU);
-
- T uConvertedToT = factory.createConverter(uClass, tClass)
- .convertToModel(u, tClass, Locale.ENGLISH);
- Assert.assertEquals("Incorrect type of value converted from "
- + uClass.getSimpleName() + " to " + tClass.getSimpleName(),
- tClass, uConvertedToT.getClass());
- Assert.assertEquals("Incorrect conversion of " + u + " to "
- + tClass.getSimpleName(), t, uConvertedToT);
-
- }
-
- }
|