@Test public void copyPreservesDataType() { Apple apple = new Apple(); long appleSize = 111; Message message = new DefaultMessageBuilder().payload(new TypedValue(apple, fromObject(apple), OptionalLong.of(appleSize))).build(); Message copy = new DefaultMessageBuilder(message).build(); assertThat(copy.getPayload(), is(message.getPayload())); assertThat(copy.getAttributes(), is(message.getAttributes())); assertThat(message.getPayload().getByteLength().getAsLong(), is(appleSize)); assertThat(copy.getPayload().getByteLength().getAsLong(), is(appleSize)); }
@Test public void mutateEntirePayload() { Message message = createTestMessage(); Message copy = new DefaultMessageBuilder(message).payload(new TypedValue<>(EMPTY_JSON, JSON_STRING)).build(); assertThat(copy.getPayload().getValue(), equalTo(EMPTY_JSON)); assertThat(copy.getPayload().getDataType().getType(), equalTo(String.class)); assertThat(copy.getPayload().getDataType().getMediaType(), is(APPLICATION_JSON)); }
@Test public void copyPreservesDataType() { Apple apple = new Apple(); long appleSize = 111; Message message = new DefaultMessageBuilder().payload(new TypedValue(apple, fromObject(apple), OptionalLong.of(appleSize))).build(); Message copy = new DefaultMessageBuilder(message).build(); assertThat(copy.getPayload(), is(message.getPayload())); assertThat(copy.getAttributes(), is(message.getAttributes())); assertThat(message.getPayload().getByteLength().getAsLong(), is(appleSize)); assertThat(copy.getPayload().getByteLength().getAsLong(), is(appleSize)); }
@Test public void mutateEntirePayload() { Message message = createTestMessage(); Message copy = new DefaultMessageBuilder(message).payload(new TypedValue<>(EMPTY_JSON, JSON_STRING)).build(); assertThat(copy.getPayload().getValue(), equalTo(EMPTY_JSON)); assertThat(copy.getPayload().getDataType().getType(), equalTo(String.class)); assertThat(copy.getPayload().getDataType().getMediaType(), is(APPLICATION_JSON)); }