/*
* *************************************************************************************
* Copyright (C) 2008 EsperTech, Inc. All rights reserved. *
* http://esper.codehaus.org *
* http://www.espertech.com *
* ---------------------------------------------------------------------------------- *
* The software in this package is published under the terms of the GPL license *
* a copy of which has been included with this distribution in the license.txt file. *
* *************************************************************************************
*/
package com.espertech.esper.type;
import junit.framework.*;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
public class TestLongValue extends TestCase
{
public void testLong()
{
LongValue lvp = new LongValue();
assertTrue(lvp.getValueObject() == null);
lvp.parse("10");
assertTrue(lvp.getValueObject().equals(10L));
assertTrue(lvp.getLong() == 10L);
lvp.setLong(200);
assertTrue(lvp.getLong() == 200L);
assertTrue(lvp.getValueObject().equals(200L));
try
{
lvp.setBoolean(false);
assertTrue(false);
}
catch (Exception ex)
{
// Expected exception
}
try
{
lvp.setInt(20);
assertTrue(false);
}
catch (Exception ex)
{
// Expected exception
}
try
{
lvp.setString("test");
assertTrue(false);
}
catch (Exception ex)
{
// Expected exception
}
try
{
lvp = new LongValue();
lvp.getLong();
}
catch (Exception ex)
{
// Expected exception
}
}
public void testParseLong()
{
tryValid("0", 0);
tryValid("11", 11);
tryValid("12l", 12);
tryValid("+234", 234);
tryValid("29349349L", 29349349);
tryValid("+29349349L", 29349349);
tryValid("-2993L", -2993);
tryValid("-1l", -1);
tryInvalid("-+0");
tryInvalid("0s");
tryInvalid("");
tryInvalid("l");
tryInvalid("L");
tryInvalid(null);
}
private void tryValid(String strLong, long expected)
{
long result = LongValue.parseString(strLong);
assertTrue(result == expected);
}
private void tryInvalid(String strLong)
{
try
{
LongValue.parseString(strLong);
assertTrue(false);
}
catch (Exception ex)
{
log.debug("Expected exception caught, msg=" + ex.getMessage());
}
}
private static final Log log = LogFactory.getLog(TestLongValue.class);
}