// Void
assertNull( bean.getVoidProperty() );
}
public void testSerializeValue( ObjectWriterTester<SimpleBean> writer ) {
SimpleBean bean = new SimpleBean();
bean.setString( "toto" );
bean.setBytePrimitive( new Integer( 34 ).byteValue() );
bean.setByteBoxed( new Integer( 87 ).byteValue() );
bean.setShortPrimitive( new Integer( 12 ).shortValue() );
bean.setShortBoxed( new Integer( 15 ).shortValue() );
bean.setIntPrimitive( 234 );
bean.setIntBoxed( 456 );
bean.setLongPrimitive( Long.MIN_VALUE );
bean.setLongBoxed( Long.MAX_VALUE );
bean.setDoublePrimitive( 126.23 );
bean.setDoubleBoxed( 1256.98 );
bean.setFloatPrimitive( new Double( 12.89 ).floatValue() );
bean.setFloatBoxed( new Double( 67.3 ).floatValue() );
bean.setBigDecimal( new BigDecimal( "12345678987654.456789" ) );
bean.setBigInteger( new BigInteger( "123456789098765432345678987654" ) );
bean.setBooleanPrimitive( true );
bean.setBooleanBoxed( false );
bean.setEnumProperty( AnEnum.A );
bean.setCharPrimitive( '\u00e7' );
bean.setCharBoxed( '\u00e8' );
// Date
bean.setDate( getUTCDate( 2012, 8, 18, 15, 45, 56, 543 ) );
bean.setSqlDate( new java.sql.Date( getUTCTime( 2012, 8, 18, 15, 45, 56, 544 ) ) );
bean.setSqlTime( new java.sql.Time( getUTCTime( 2012, 8, 18, 15, 45, 56, 545 ) ) );
bean.setSqlTimestamp( new java.sql.Timestamp( getUTCTime( 2012, 8, 18, 15, 45, 56, 546 ) ) );
// Arrays
bean.setStringArray( new String[]{"Hello", "World", "!"} );
bean.setBooleanPrimitiveArray( new boolean[]{true, false, true, false} );
bean.setBytePrimitiveArray( "Hello".getBytes() );
bean.setCharacterPrimitiveArray( new char[]{'\u00e7', 'o', 'u'} );
bean.setDoublePrimitiveArray( new double[]{45.789, 5.1024} );
bean.setFloatPrimitiveArray( new float[]{} );
bean.setIntegerPrimitiveArray( new int[]{4, 5, 6, 7, 8} );
bean.setLongPrimitiveArray( new long[]{Long.MAX_VALUE, Long.MIN_VALUE} );
bean.setShortPrimitiveArray( new short[]{9, 7, 8, 15} );
// 2D Arrays
bean.setStringArray2d( newArray2d( new String[]{"Jean", "Dujardin"}, new String[]{"Omar", "Sy"}, new String[]{"toto", null} ) );
bean.setBooleanPrimitiveArray2d( newArray2d( new boolean[]{true, false}, new boolean[]{false, false} ) );
bean.setBytePrimitiveArray2d( newArray2d( "Hello".getBytes(), "World".getBytes() ) );
bean.setCharacterPrimitiveArray2d( newArray2d( new char[]{'\u00e7', 'o'}, new char[]{'a', 'b'} ) );
bean.setDoublePrimitiveArray2d( newArray2d( new double[]{45.789, 5.1024} ) );
bean.setFloatPrimitiveArray2d( newArray2d( new float[]{} ) );
bean.setIntegerPrimitiveArray2d( newArray2d( new int[]{1, 2, 3}, new int[]{4, 5, 6}, new int[]{7, 8, 9} ) );
bean.setLongPrimitiveArray2d( newArray2d( new long[]{Long.MAX_VALUE}, new long[]{Long.MIN_VALUE} ) );
bean.setShortPrimitiveArray2d( newArray2d( new short[]{9, 7, 8, 15} ) );
// Void
bean.setVoidProperty( null );
String expected = "{" +
"\"string\":\"toto\"," +
"\"bytePrimitive\":34," +
"\"byteBoxed\":87," +
"\"shortPrimitive\":12," +
"\"shortBoxed\":15," +
"\"intPrimitive\":234," +
"\"intBoxed\":456," +
"\"longPrimitive\":-9223372036854775808," +
"\"longBoxed\":9223372036854775807," +
"\"doublePrimitive\":126.23," +
"\"doubleBoxed\":1256.98," +
"\"floatPrimitive\":12.89," +
"\"floatBoxed\":67.3," +
"\"booleanPrimitive\":true," +
"\"booleanBoxed\":false," +
"\"charPrimitive\":\"ç\"," +
"\"charBoxed\":\"è\"," +
"\"bigInteger\":123456789098765432345678987654," +
"\"bigDecimal\":12345678987654.456789," +
"\"enumProperty\":\"A\"," +
"\"date\":1345304756543," +
"\"sqlDate\":\"2012-08-18\"," +
"\"sqlTime\":\"" + bean.getSqlTime().toString() + "\"," +
"\"sqlTimestamp\":1345304756546," +
"\"stringArray\":[\"Hello\",\"World\",\"!\"]," +
"\"booleanPrimitiveArray\":[true,false,true,false]," +
"\"bytePrimitiveArray\":\"SGVsbG8=\"," +
"\"characterPrimitiveArray\":\"çou\"," +