Package org.dayatang.domain.datatype

Source Code of org.dayatang.domain.datatype.ValueTest

package org.dayatang.domain.datatype;

import org.junit.Test;

import java.math.BigDecimal;
import java.text.ParseException;
import org.dayatang.domain.DataType;
import org.dayatang.domain.Value;
import org.dayatang.utils.DateUtils;

import static org.junit.Assert.*;

public class ValueTest {

    private final String[] DATE_FORMAT = new String[]{
        "yyyy-MM-dd",
        "hh:mm:ss",
        "yyyy-MM-dd hh:mm:ss"
    };

    private Value value;

    @Test
    public void testValueDataTypeString() {
        value = Value.intValue("12");
        assertEquals(DataType.INT, value.getDataType());
        assertEquals("12", value.getStringValue());
    }

    @Test
    public void testGetDataType() {
        assertEquals(DataType.BIG_DECIMAL, Value.bigDecimalValue("12").getDataType());
        assertEquals(DataType.BOOLEAN, Value.booleanValue("12").getDataType());
        assertEquals(DataType.DATE, Value.dateValue("12").getDataType());
        assertEquals(DataType.DATE_TIME, Value.dateTimeValue("12").getDataType());
        assertEquals(DataType.DOUBLE, Value.doubleValue("12").getDataType());
        assertEquals(DataType.INT, Value.intValue("12").getDataType());
        assertEquals(DataType.LONG, Value.longValue("12").getDataType());
        assertEquals(DataType.STRING, Value.stringValue("12").getDataType());
        assertEquals(DataType.TIME, Value.timeValue("12").getDataType());
    }

    @Test
    public void testGetStringValue() {
        assertEquals("12", Value.intValue("12").getStringValue());
    }

    @Test
    public void testGetString() {
        assertEquals("12", Value.stringValue("12").getString());
        assertEquals("", Value.stringValue(null).getString());
    }

    @Test
    public void testGetInt() {
        assertEquals(12, Value.intValue("12").getInt());
        assertEquals(0, Value.intValue(null).getInt());
    }

    @Test
    public void testGetLong() {
        assertEquals(12L, Value.longValue("12").getLong());
        assertEquals(0, Value.longValue(null).getLong());
    }

    @Test
    public void testGetDouble() {
        assertEquals(12.0, Value.doubleValue("12").getDouble(), 0.001);
        assertEquals(0.0, Value.doubleValue(null).getDouble(), 0.001);
    }

    @Test
    public void testGetBigDecimal() {
        assertEquals(new BigDecimal(12), Value.bigDecimalValue("12").getBigDecimal());
        assertEquals(BigDecimal.ZERO, Value.bigDecimalValue(null).getBigDecimal());
    }

    @Test
    public void testGetBoolean() {
        assertTrue(Value.booleanValue("true").getBoolean());
        assertFalse(Value.booleanValue(null).getBoolean());
        assertFalse(Value.booleanValue("").getBoolean());
    }

    @Test
    public void testGetDate() {
        assertEquals(DateUtils.date(2000, 1, 15), Value.dateValue("2000-01-15").getDate());
        assertEquals(DateUtils.date(2000, 1, 15, 11, 5, 30),
                Value.dateTimeValue("2000-01-15 11:05:30").getDate());
        assertNull(Value.dateValue("").getDate());
    }

    @Test(expected = RuntimeException.class)
    public void testGetDateParseFailure() {
        Value.dateValue("cccc-01-15").getDate();
    }

    @Test
    public void testEquals() {
        Value value1 = Value.intValue("12");
        Value value2 = Value.bigDecimalValue("12");
        Value value3 = Value.intValue("13");
        assertTrue(value1.equals(Value.intValue("12")));
        assertFalse(value1.equals("12"));
        assertFalse(value1.equals(value2));
        assertFalse(value1.equals(value3));
    }

    @Test
   
    public void testToString() {
        value = Value.dateValue("2000-1-5");
        assertEquals("2000-1-5", value.toString());
    }

    @Test
    public void testGetValue() throws ParseException {
        assertEquals("12", Value.stringValue("12").getValue());
        assertEquals("", Value.stringValue("").getValue());

        assertEquals(12, Value.intValue("12").getValue());
        assertEquals(0, Value.intValue("").getValue());
       
        assertEquals(12L, Value.longValue("12").getValue());
        assertEquals(0L, Value.longValue(null).getValue());

        assertEquals(12.5, (Double) Value.doubleValue("12.5").getValue(), 0.001);
        assertEquals(0.0, (Double) Value.doubleValue(null).getValue(), 0.001);

        assertTrue((Boolean) Value.booleanValue("true").getValue());
        assertFalse((Boolean) Value.booleanValue("false").getValue());
        assertFalse((Boolean) Value.booleanValue("").getValue());

        assertEquals(DateUtils.date(2000, 1, 15), Value.dateValue("2000-01-15").getValue());
        assertEquals(DateUtils.date(2000, 1, 15, 11, 5, 30),
                Value.dateTimeValue("2000-01-15 11:05:30").getValue());
        assertNull(Value.dateValue("").getValue());
    }
}
TOP

Related Classes of org.dayatang.domain.datatype.ValueTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.