@Test public void givenArrayWithByteAndNullElementWhenSerializingAndDeserializingExpectEquals() throws Exception { Byte[] array = new Byte[] { 9, null, -12, -12, 127, -128, 73 }; String output = valueSerialization.serialize( array ); Byte[] deserialized = valueSerialization.deserialize( Byte[].class, output ); assertArrayEquals( array, deserialized ); }
private <C, V extends Identity> V readConfig( UnitOfWork uow, Class<C> compositeType, Class<V> configType, String identity, String format, String extension ) { for( ServiceReference<ValueSerialization> serializerRef : valueSerialization ) { ServiceTags serviceTags = serializerRef.metaInfo( ServiceTags.class ); if( serviceTags.hasTag( format ) ) { String resourceName = identity + extension; InputStream asStream = getResource( compositeType, resourceName ); if( asStream != null ) { V configObject = serializerRef.get().deserialize( configType, asStream ); return uow.toEntity( configType, configObject ); } } } return null; } }
valueSerialization.serialize( some, output ); String stateString = output.toString( "UTF-8" );
@Test public void givenPrimitiveArrayWithIntsWhenSerializingAndDeserializingExpectEquals() throws Exception { int[] primitiveArray = new int[] { 23, 42, -23, -42 }; String output = valueSerialization.serialize( primitiveArray ); int[] deserialized = valueSerialization.deserialize( int[].class, output ); assertArrayEquals( primitiveArray, deserialized ); }
@Test public void givenDateValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( new DateTime( "2020-03-04T13:24:35", forID( "CET" ) ).toDate() ); assertThat( serialized, equalTo( "2020-03-04T12:24:35.000Z" ) ); Date deserialized = valueSerialization.deserialize( Date.class, serialized ); assertThat( deserialized, equalTo( new DateTime( "2020-03-04T13:24:35", forID( "CET" ) ).toDate() ) ); assertThat( deserialized, equalTo( new DateTime( "2020-03-04T12:24:35", UTC ).toDate() ) ); }
@Test public void givenLocalDateValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( new LocalDate( "2020-03-04" ) ); assertThat( serialized, equalTo( "2020-03-04" ) ); LocalDate deserialized = valueSerialization.deserialize( LocalDate.class, serialized ); assertThat( deserialized, equalTo( new LocalDate( "2020-03-04" ) ) ); }
@Test public void givenCharacterValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( 'q' ); assertThat( "Serialized", serialized, equalTo( "q" ) ); Character deserialized = valueSerialization.deserialize( Character.class, serialized ); assertThat( "Deserialized", deserialized, equalTo( 'q' ) ); }
@Test public void givenByteValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( (byte) 42 ); assertThat( serialized, equalTo( "42" ) ); Byte deserialized = valueSerialization.deserialize( Byte.class, serialized ); assertThat( deserialized, equalTo( (byte) 42 ) ); }
@Test public void givenDoubleValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( 42D ); assertThat( serialized, equalTo( "42.0" ) ); Double deserialized = valueSerialization.deserialize( Double.class, serialized ); assertThat( deserialized, equalTo( 42D ) ); }
@Test public void givenStringValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( "test" ); assertThat( serialized, equalTo( "test" ) ); String deserialized = valueSerialization.deserialize( String.class, serialized ); assertThat( deserialized, equalTo( "test" ) ); }
@Test public void givenBooleanValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( Boolean.TRUE ); assertThat( serialized, equalTo( "true" ) ); Boolean deserialized = valueSerialization.deserialize( Boolean.class, serialized ); assertThat( deserialized, equalTo( Boolean.TRUE ) ); }
@Test public void givenEmptyStringValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( "" ); assertThat( "Serialized", serialized, equalTo( "" ) ); String deserialized = valueSerialization.deserialize( String.class, serialized ); assertThat( "Deserialized", deserialized, equalTo( "" ) ); }
@Test public void givenIntegerValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( 42 ); assertThat( serialized, equalTo( "42" ) ); Integer deserialized = valueSerialization.deserialize( Integer.class, serialized ); assertThat( deserialized, equalTo( 42 ) ); }
@Test public void givenLongValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( 42L ); assertThat( serialized, equalTo( "42" ) ); Long deserialized = valueSerialization.deserialize( Long.class, serialized ); assertThat( deserialized, equalTo( 42L ) ); }
@Test public void givenShortValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( (short) 42 ); assertThat( serialized, equalTo( "42" ) ); Short deserialized = valueSerialization.deserialize( Short.class, serialized ); assertThat( deserialized, equalTo( (short) 42 ) ); }
@Test public void givenFloatValueWhenSerializingAndDeserializingExpectEquals() { String serialized = valueSerialization.serialize( 42F ); assertThat( serialized, equalTo( "42.0" ) ); Float deserialized = valueSerialization.deserialize( Float.class, serialized ); assertThat( deserialized, equalTo( 42F ) ); }
@Test public void givenBigDecimalValueWhenSerializingAndDeserializingExpectEquals() { BigDecimal bigDecimal = new BigDecimal( "42.2376931348623157e+309" ); assertThat( bigDecimal.doubleValue(), equalTo( Double.POSITIVE_INFINITY ) ); String serialized = valueSerialization.serialize( bigDecimal ); assertThat( serialized, equalTo( "4.22376931348623157E+310" ) ); BigDecimal deserialized = valueSerialization.deserialize( BigDecimal.class, serialized ); assertThat( deserialized, equalTo( bigDecimal ) ); }
@Test public void givenBigIntegerValueWhenSerializingAndDeserializingExpectEquals() { BigInteger bigInteger = new BigInteger( "42424242424242424242424242" ); assertThat( bigInteger, not( equalTo( BigInteger.valueOf( bigInteger.longValue() ) ) ) ); String serialized = valueSerialization.serialize( bigInteger ); assertThat( serialized, equalTo( "42424242424242424242424242" ) ); BigInteger deserialized = valueSerialization.deserialize( BigInteger.class, serialized ); assertThat( deserialized, equalTo( bigInteger ) ); }
@Test public void givenDateTimeValueWhenSerializingAndDeserializingExpectEquals() { // We specify the TimeZone explicitely here so that serialized/deserialized is equals // See https://github.com/JodaOrg/joda-time/issues/106 String serialized = valueSerialization.serialize( new DateTime( "2020-03-04T13:24:35", forOffsetHours( 1 ) ) ); assertThat( serialized, equalTo( "2020-03-04T13:24:35.000+01:00" ) ); DateTime deserialized = valueSerialization.deserialize( DateTime.class, serialized ); assertThat( deserialized, equalTo( new DateTime( "2020-03-04T13:24:35", forOffsetHours( 1 ) ) ) ); }
@Test public void givenLocalDateTimeValueWhenSerializingAndDeserializingExpectEquals() { // Serialized without TimeZone String serialized = valueSerialization.serialize( new LocalDateTime( "2020-03-04T13:23:00", forID( "CET" ) ) ); assertThat( serialized, equalTo( "2020-03-04T13:23:00.000" ) ); LocalDateTime deserialized = valueSerialization.deserialize( LocalDateTime.class, serialized ); assertThat( deserialized, equalTo( new LocalDateTime( "2020-03-04T13:23:00", UTC ) ) ); }