@Test
public void testJavaToValueConversion() {

	try {
		assertNull(JavaToValueConverter.convertBoxedJavaType(null));
		
		assertEquals(new StringValue("123Test"), JavaToValueConverter.convertBoxedJavaType("123Test"));
		assertEquals(new ByteValue((byte) 44), JavaToValueConverter.convertBoxedJavaType((byte) 44));
		assertEquals(new ShortValue((short) 10000), JavaToValueConverter.convertBoxedJavaType((short) 10000));
		assertEquals(new IntValue(3567564), JavaToValueConverter.convertBoxedJavaType(3567564));
		assertEquals(new LongValue(767692734), JavaToValueConverter.convertBoxedJavaType(767692734L));
		assertEquals(new FloatValue(17.5f), JavaToValueConverter.convertBoxedJavaType(17.5f));
		assertEquals(new DoubleValue(3.1415926), JavaToValueConverter.convertBoxedJavaType(3.1415926));
		assertEquals(new BooleanValue(true), JavaToValueConverter.convertBoxedJavaType(true));
		assertEquals(new CharValue('@'), JavaToValueConverter.convertBoxedJavaType('@'));
		
		try {
			JavaToValueConverter.convertBoxedJavaType(new ArrayList<Object>());
			fail("Accepted invalid type.");
		} catch (IllegalArgumentException e) {
			// expected
		}
	}
	catch (Exception e) {
		e.printStackTrace();
		fail(e.getMessage());
	}
}