/*
* JBoss, Home of Professional Open Source
* Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.messaging.tests.unit.jms.client;
import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
import static org.jboss.messaging.tests.util.RandomUtil.randomByte;
import static org.jboss.messaging.tests.util.RandomUtil.randomBytes;
import static org.jboss.messaging.tests.util.RandomUtil.randomChar;
import static org.jboss.messaging.tests.util.RandomUtil.randomDouble;
import static org.jboss.messaging.tests.util.RandomUtil.randomFloat;
import static org.jboss.messaging.tests.util.RandomUtil.randomInt;
import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
import static org.jboss.messaging.tests.util.RandomUtil.randomShort;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
import static org.jboss.messaging.tests.util.UnitTestCase.assertEqualsByteArrays;
import javax.jms.MessageFormatException;
import junit.framework.TestCase;
import org.jboss.messaging.jms.client.JBossMapMessage;
/**
* @author <a href="mailto:jmesnil@redhat.com">Jeff Mesnil</a>
*
* @version <tt>$Revision$</tt>
*
*/
public class JBossMapMessageTest extends TestCase
{
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
private String itemName;
@Override
protected void setUp() throws Exception
{
super.setUp();
itemName = randomString();
}
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
public void testClearBody() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setBoolean(itemName, true);
assertTrue(message.itemExists(itemName));
message.clearBody();
assertFalse(message.itemExists(itemName));
}
public void testGetType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
assertEquals(JBossMapMessage.TYPE, message.getType());
}
public void testCheckItemNameIsNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
try
{
message.setBoolean(null, true);
fail("item name can not be null");
} catch (IllegalArgumentException e)
{
}
}
public void testCheckItemNameIsEmpty() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
try
{
message.setBoolean("", true);
fail("item name can not be empty");
} catch (IllegalArgumentException e)
{
}
}
public void testGetBooleanFromBoolean() throws Exception
{
boolean value = true;
JBossMapMessage message = new JBossMapMessage();
message.setBoolean(itemName, value);
assertEquals(value, message.getBoolean(itemName));
}
public void testGetBooleanFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
assertEquals(false, message.getBoolean(itemName));
}
public void testGetBooleanFromString() throws Exception
{
boolean value = true;
JBossMapMessage message = new JBossMapMessage();
message.setString(itemName, Boolean.toString(value));
assertEquals(value, message.getBoolean(itemName));
}
public void testGetBooleanFromInvalidType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setFloat(itemName, randomFloat());
try
{
message.getBoolean(itemName);
fail("MessageFormatException");
} catch (MessageFormatException e)
{
}
}
public void testGetByteFromByte() throws Exception
{
byte value = randomByte();
JBossMapMessage message = new JBossMapMessage();
message.setByte(itemName, value);
assertEquals(value, message.getByte(itemName));
}
public void testGetByteFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
try
{
message.getByte(itemName);
fail("NumberFormatException");
} catch (NumberFormatException e)
{
}
}
public void testGetByteFromString() throws Exception
{
byte value = randomByte();
JBossMapMessage message = new JBossMapMessage();
message.setString(itemName, Byte.toString(value));
assertEquals(value, message.getByte(itemName));
}
public void testGetByteFromInvalidType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setFloat(itemName, randomFloat());
try
{
message.getByte(itemName);
fail("MessageFormatException");
} catch (MessageFormatException e)
{
}
}
public void testGetShortFromByte() throws Exception
{
byte value = randomByte();
JBossMapMessage message = new JBossMapMessage();
message.setByte(itemName, value);
assertEquals(value, message.getShort(itemName));
}
public void testGetShortFromShort() throws Exception
{
short value = randomShort();
JBossMapMessage message = new JBossMapMessage();
message.setShort(itemName, value);
assertEquals(value, message.getShort(itemName));
}
public void testGetShortFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
try
{
message.getShort(itemName);
fail("NumberFormatException");
} catch (NumberFormatException e)
{
}
}
public void testGetShortFromString() throws Exception
{
short value = randomShort();
JBossMapMessage message = new JBossMapMessage();
message.setString(itemName, Short.toString(value));
assertEquals(value, message.getShort(itemName));
}
public void testGetShortFromInvalidType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setFloat(itemName, randomFloat());
try
{
message.getShort(itemName);
fail("MessageFormatException");
} catch (MessageFormatException e)
{
}
}
public void testGetIntFromByte() throws Exception
{
byte value = randomByte();
JBossMapMessage message = new JBossMapMessage();
message.setByte(itemName, value);
assertEquals(value, message.getInt(itemName));
}
public void testGetIntFromShort() throws Exception
{
short value = randomShort();
JBossMapMessage message = new JBossMapMessage();
message.setShort(itemName, value);
assertEquals(value, message.getInt(itemName));
}
public void testGetIntFromInt() throws Exception
{
int value = randomInt();
JBossMapMessage message = new JBossMapMessage();
message.setInt(itemName, value);
assertEquals(value, message.getInt(itemName));
}
public void testGetIntFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
try
{
message.getInt(itemName);
fail("NumberFormatException");
} catch (NumberFormatException e)
{
}
}
public void testGetIntFromString() throws Exception
{
int value = randomInt();
JBossMapMessage message = new JBossMapMessage();
message.setString(itemName, Integer.toString(value));
assertEquals(value, message.getInt(itemName));
}
public void testGetIntFromInvalidType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setFloat(itemName, randomFloat());
try
{
message.getInt(itemName);
fail("MessageFormatException");
} catch (MessageFormatException e)
{
}
}
public void testGetCharFromChar() throws Exception
{
char value = randomChar();
JBossMapMessage message = new JBossMapMessage();
message.setChar(itemName, value);
assertEquals(value, message.getChar(itemName));
}
public void testGetCharFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
try
{
message.getChar(itemName);
fail("NullPointerException");
} catch (NullPointerException e)
{
}
}
public void testGetCharFromInvalidType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setFloat(itemName, randomFloat());
try
{
message.getChar(itemName);
fail("MessageFormatException");
} catch (MessageFormatException e)
{
}
}
public void testGetLongFromByte() throws Exception
{
byte value = randomByte();
JBossMapMessage message = new JBossMapMessage();
message.setByte(itemName, value);
assertEquals(value, message.getLong(itemName));
}
public void testGetLongFromShort() throws Exception
{
short value = randomShort();
JBossMapMessage message = new JBossMapMessage();
message.setShort(itemName, value);
assertEquals(value, message.getLong(itemName));
}
public void testGetLongFromInt() throws Exception
{
int value = randomInt();
JBossMapMessage message = new JBossMapMessage();
message.setInt(itemName, value);
assertEquals(value, message.getLong(itemName));
}
public void testGetLongFromLong() throws Exception
{
long value = randomLong();
JBossMapMessage message = new JBossMapMessage();
message.setLong(itemName, value);
assertEquals(value, message.getLong(itemName));
}
public void testGetLongFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
try
{
message.getLong(itemName);
fail("NumberFormatException");
} catch (NumberFormatException e)
{
}
}
public void testGetLongFromString() throws Exception
{
long value = randomLong();
JBossMapMessage message = new JBossMapMessage();
message.setString(itemName, Long.toString(value));
assertEquals(value, message.getLong(itemName));
}
public void testGetLongFromInvalidType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setFloat(itemName, randomFloat());
try
{
message.getLong(itemName);
fail("MessageFormatException");
} catch (MessageFormatException e)
{
}
}
public void testGetFloatFromFloat() throws Exception
{
float value = randomFloat();
JBossMapMessage message = new JBossMapMessage();
message.setFloat(itemName, value);
assertEquals(value, message.getFloat(itemName));
}
public void testGetFloatFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
try
{
message.getFloat(itemName);
fail("NullPointerException");
} catch (NullPointerException e)
{
}
}
public void testGetFloatFromString() throws Exception
{
float value = randomFloat();
JBossMapMessage message = new JBossMapMessage();
message.setString(itemName, Float.toString(value));
assertEquals(value, message.getFloat(itemName));
}
public void testGetFloatFromInvalidType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setChar(itemName, randomChar());
try
{
message.getFloat(itemName);
fail("MessageFormatException");
} catch (MessageFormatException e)
{
}
}
public void testGetDoubleFromFloat() throws Exception
{
float value = randomFloat();
JBossMapMessage message = new JBossMapMessage();
message.setFloat(itemName, value);
assertEquals(Float.valueOf(value).doubleValue(), message.getDouble(itemName));
}
public void testGetDoubleFromDouble() throws Exception
{
double value = randomDouble();
JBossMapMessage message = new JBossMapMessage();
message.setDouble(itemName, value);
assertEquals(value, message.getDouble(itemName));
}
public void testGetDoubleFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
try
{
message.getDouble(itemName);
fail("NullPointerException");
} catch (NullPointerException e)
{
}
}
public void testGetDoubleFromString() throws Exception
{
double value = randomDouble();
JBossMapMessage message = new JBossMapMessage();
message.setString(itemName, Double.toString(value));
assertEquals(value, message.getDouble(itemName));
}
public void testGetDoubleFromInvalidType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setChar(itemName, randomChar());
try
{
message.getDouble(itemName);
fail("MessageFormatException");
} catch (MessageFormatException e)
{
}
}
public void testGetStringFromBoolean() throws Exception
{
boolean value = randomBoolean();
JBossMapMessage message = new JBossMapMessage();
message.setBoolean(itemName, value);
assertEquals(Boolean.toString(value), message.getString(itemName));
}
public void testGetStringFromByte() throws Exception
{
byte value = randomByte();
JBossMapMessage message = new JBossMapMessage();
message.setByte(itemName, value);
assertEquals(Byte.toString(value), message.getString(itemName));
}
public void testGetStringFromChar() throws Exception
{
char value = randomChar();
JBossMapMessage message = new JBossMapMessage();
message.setChar(itemName, value);
assertEquals(Character.toString(value), message.getString(itemName));
}
public void testGetStringFromShort() throws Exception
{
short value = randomShort();
JBossMapMessage message = new JBossMapMessage();
message.setShort(itemName, value);
assertEquals(Short.toString(value), message.getString(itemName));
}
public void testGetStringFromInt() throws Exception
{
int value = randomInt();
JBossMapMessage message = new JBossMapMessage();
message.setInt(itemName, value);
assertEquals(Integer.toString(value), message.getString(itemName));
}
public void testGetStringFromLong() throws Exception
{
long value = randomLong();
JBossMapMessage message = new JBossMapMessage();
message.setLong(itemName, value);
assertEquals(Long.toString(value), message.getString(itemName));
}
public void testGetStringFromFloat() throws Exception
{
float value = randomFloat();
JBossMapMessage message = new JBossMapMessage();
message.setFloat(itemName, value);
assertEquals(Float.toString(value), message.getString(itemName));
}
public void testGetStringFromDouble() throws Exception
{
double value = randomByte();
JBossMapMessage message = new JBossMapMessage();
message.setDouble(itemName, value);
assertEquals(Double.toString(value), message.getString(itemName));
}
public void testGetStringFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
assertNull(message.getString(itemName));
}
public void testGetStringFromString() throws Exception
{
String value = randomString();
JBossMapMessage message = new JBossMapMessage();
message.setString(itemName, value);
assertEquals(value, message.getString(itemName));
}
public void testGetBytesFromBytes() throws Exception
{
byte[] value = randomBytes();
JBossMapMessage message = new JBossMapMessage();
message.setBytes(itemName, value);
assertEqualsByteArrays(value, message.getBytes(itemName));
}
public void testGetBytesFromNull() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
assertNull(message.getBytes(itemName));
}
public void testGetBytesFromInvalidType() throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setChar(itemName, randomChar());
try
{
message.getBytes(itemName);
fail("MessageFormatException");
} catch (MessageFormatException e)
{
}
}
public void testSetObjectFromBoolean() throws Exception
{
boolean value = randomBoolean();
JBossMapMessage message = new JBossMapMessage();
message.setObject(itemName, value);
assertEquals(value, message.getObject(itemName));
}
public void testSetObjectFromByte() throws Exception
{
doTestSetObject(randomByte());
}
public void testSetObjectFromShort() throws Exception
{
doTestSetObject(randomShort());
}
public void testSetObjectFromChar() throws Exception
{
doTestSetObject(randomChar());
}
public void testSetObjectFromInt() throws Exception
{
doTestSetObject(randomInt());
}
public void testSetObjectFromLong() throws Exception
{
doTestSetObject(randomLong());
}
public void testSetObjectFromFloat() throws Exception
{
doTestSetObject(randomFloat());
}
public void testSetObjectFromDouble() throws Exception
{
doTestSetObject(randomDouble());
}
public void testSetObjectFromString() throws Exception
{
doTestSetObject(randomString());
}
public void testSetObjectFromBytes() throws Exception
{
doTestSetObject(randomBytes());
}
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
// Private -------------------------------------------------------
private void doTestSetObject(Object value) throws Exception
{
JBossMapMessage message = new JBossMapMessage();
message.setObject(itemName, value);
assertEquals(value, message.getObject(itemName));
}
// Inner classes -------------------------------------------------
}