@Test(groups = "fast") public void testJson() throws Exception { final BigDecimal creditAmount = BigDecimal.TEN; final String invoiceId = UUID.randomUUID().toString(); final String invoiceNumber = UUID.randomUUID().toString(); final LocalDate effectiveDate = clock.getUTCToday(); final String accountId = UUID.randomUUID().toString(); final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow()); final CreditJson creditJson = new CreditJson(creditAmount, invoiceId, invoiceNumber, effectiveDate, accountId, auditLogs); Assert.assertEquals(creditJson.getEffectiveDate(), effectiveDate); Assert.assertEquals(creditJson.getCreditAmount(), creditAmount); Assert.assertEquals(creditJson.getInvoiceId(), invoiceId); Assert.assertEquals(creditJson.getInvoiceNumber(), invoiceNumber); Assert.assertEquals(creditJson.getAccountId(), accountId); final String asJson = mapper.writeValueAsString(creditJson); final CreditJson fromJson = mapper.readValue(asJson, CreditJson.class); Assert.assertEquals(fromJson, creditJson); } }