### Question:
JpaPersonPropertyConverter implements ModelConverter<PersonProperty, JpaPersonProperty> { @Override public JpaPersonProperty convert(PersonProperty source) { return source instanceof JpaPersonProperty ? (JpaPersonProperty) source : createEntity(source); }  @Override Class<PersonProperty> getSourceType(); @Override JpaPersonProperty convert(PersonProperty source);  }### Answer:
@Test public void testNoConversion() { JpaPersonProperty template = new JpaPersonProperty(); assertThat(converter.convert(template), is(sameInstance(template))); }
@Test public void nullConversion() { PersonProperty template = null; assertThat(converter.convert(template), is(nullValue())); }
@Test public void convertValid() { PersonProperty template = new PersonPropertyImpl("42"); template.setType("TEST_A"); template.setValue("TEST_B"); template.setQualifier("TEST_C"); template.setExtendedValue("TEST_D"); template.setPrimary(true); JpaPersonProperty jpaTemplate = converter.convert(template); assertThat(jpaTemplate, is(not(sameInstance(template)))); assertThat(jpaTemplate, is(instanceOf(JpaPersonProperty.class))); assertThat(jpaTemplate.getId(), is(equalTo(template.getId()))); assertThat(jpaTemplate.getType(), is(equalTo(template.getType()))); assertThat(jpaTemplate.getValue(), is(equalTo(template.getValue()))); assertThat(jpaTemplate.getQualifier(), is(equalTo(template.getQualifier()))); assertThat(jpaTemplate.getExtendedValue(), is(equalTo(template.getExtendedValue()))); assertThat(jpaTemplate.getPrimary(), is(equalTo(template.getPrimary()))); }