@Test(groups = "fast") public void testJson() throws Exception { final DateTime requestedDate = new DateTime(DateTimeZone.UTC); final DateTime effectiveDate = new DateTime(DateTimeZone.UTC); final BigDecimal chargebackAmount = BigDecimal.TEN; final String chargebackId = UUID.randomUUID().toString(); final String accountId = UUID.randomUUID().toString(); final String paymentId = UUID.randomUUID().toString(); final String currency = "USD"; final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow()); final ChargebackJson chargebackJson = new ChargebackJson(chargebackId, accountId, requestedDate, effectiveDate, chargebackAmount, paymentId, currency, auditLogs); Assert.assertEquals(chargebackJson.getChargebackId(), chargebackId); Assert.assertEquals(chargebackJson.getRequestedDate(), requestedDate); Assert.assertEquals(chargebackJson.getEffectiveDate(), effectiveDate); Assert.assertEquals(chargebackJson.getAmount(), chargebackAmount); Assert.assertEquals(chargebackJson.getPaymentId(), paymentId); Assert.assertEquals(chargebackJson.getAuditLogs(), auditLogs); final String asJson = mapper.writeValueAsString(chargebackJson); final ChargebackJson fromJson = mapper.readValue(asJson, ChargebackJson.class); Assert.assertEquals(fromJson, chargebackJson); } }