@Test public void largerThanUnsignedShorts() { final int maxShortSize = 65535; final int lengthOfArray = maxShortSize + 1; final byte setByte = 2; final int setInteger = 400; final byte[] setByteArray = generateByteArray( lengthOfArray ); FieldBufferBuilder builder = new FieldBufferBuilder( 1 ); builder.addBytes( setByteArray ); builder.addByte( setByte ); builder.addInteger( setInteger ); final FieldBufferSerializer serializer = new FieldBufferSerializer(); final ByteBuffer serialized = serializer.toByteBuffer( builder.build() ); final FieldBuffer parsed = serializer.fromByteBuffer( serialized ); FieldBufferParser parser = new FieldBufferParser( parsed ); final byte[] returnedArray = parser.readBytes(); assertArrayEquals( setByteArray, returnedArray ); final byte returnedByte = parser.readByte(); assertEquals( "Bytes should be equal", setByte, returnedByte ); final int returnedInt = parser.readInteger(); assertEquals( "Integer should be equal", setInteger, returnedInt ); }
/** * Perform a very simple serialization of the 3 field types */ @Test public void simpleSerializer() { final byte setByte = 1; final int setInteger = 200; final byte[] setByteArray = generateByteArray( 1000 ); FieldBufferBuilder builder = new FieldBufferBuilder( 3 ); builder.addByte( setByte ); builder.addInteger( setInteger ); builder.addBytes( setByteArray ); final FieldBufferSerializer serializer = new FieldBufferSerializer(); final ByteBuffer serialized = serializer.toByteBuffer( builder.build() ); final FieldBuffer parsed = serializer.fromByteBuffer( serialized ); FieldBufferParser parser = new FieldBufferParser( parsed ); final byte returnedByte = parser.readByte(); assertEquals( "Bytes should be equal", setByte, returnedByte ); final int returnedInt = parser.readInteger(); assertEquals( "Integer should be equal", setInteger, returnedInt ); final byte[] returnedByteArray = parser.readBytes(); assertArrayEquals( "arrays should be equal", setByteArray, returnedByteArray ); }