final LinkRepresentation updateLink = domainObjectRepr.getLinkWithRel(Rel.UPDATE);
final JsonRepresentation argRepr = updateLink.getArguments();
final LocalDate ld = new LocalDate(2013,5,1);
final LocalDateTime ldt = new LocalDateTime(2013,2,1,14,15,0);
final DateTime dt = new DateTime(2013,2,1,14,15,0);
final String s = "New string";
argRepr.mapPut("localDateProperty.value", asIsoNoT(ld.toDate()));
argRepr.mapPut("localDateTimeProperty.value", asIso(ldt.toDate()));
argRepr.mapPut("dateTimeProperty.value", asIso(dt.toDate()));
argRepr.mapPut("stringProperty.value", s);
final RestfulResponse<JsonRepresentation> result = client.follow(updateLink, argRepr);
assertThat(result.getStatus(), is(HttpStatusCode.OK));
final DomainObjectRepresentation afterResp = result.getEntity().as(DomainObjectRepresentation.class);
assertThat(afterResp.getProperty("localDateProperty").getDate("value"), is(ld.toDate()));
assertThat(afterResp.getProperty("localDateTimeProperty").getDateTime("value"), is(ldt.toDate()));
assertThat(afterResp.getProperty("dateTimeProperty").getDateTime("value"), is(dt.toDate()));
assertThat(afterResp.getProperty("stringProperty").getString("value"), is(s));
}