package com.baeldung.jackson.jsonproperty; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; import java.io.IOException; import org.junit.Test; import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; public class JsonPropertyUnitTest { @Test public final void whenSerializing_thenCorrect() throws JsonParseException, IOException { final ObjectMapper mapper = new ObjectMapper(); final String dtoAsString = mapper.writeValueAsString(new MyDto()); assertThat(dtoAsString, containsString("intValue")); assertThat(dtoAsString, containsString("stringValue")); assertThat(dtoAsString, containsString("booleanValue")); } @Test public final void givenNameOfFieldIsChangedViaAnnotationOnGetter_whenSerializing_thenCorrect() throws JsonParseException, IOException { final ObjectMapper mapper = new ObjectMapper(); final MyDtoFieldNameChanged dtoObject = new MyDtoFieldNameChanged(); dtoObject.setStringValue("a"); final String dtoAsString = mapper.writeValueAsString(dtoObject); assertThat(dtoAsString, not(containsString("stringValue"))); assertThat(dtoAsString, containsString("strVal")); System.out.println(dtoAsString); } }