@Test public void fromString_whenStringIsValidJson_returnsExpectedCard() { final Card expectedCard = buildEquivalentJsonCard(); final Card cardFromJson = Card.fromString(JSON_CARD); assertNotNull(cardFromJson); assertEquals(expectedCard.getBrand(), cardFromJson.getBrand()); assertEquals(expectedCard.getFunding(), cardFromJson.getFunding()); assertEquals(expectedCard.getCountry(), cardFromJson.getCountry()); assertEquals(expectedCard.getLast4(), cardFromJson.getLast4()); assertEquals(expectedCard.getExpMonth(), cardFromJson.getExpMonth()); assertEquals(expectedCard.getExpYear(), cardFromJson.getExpYear()); assertEquals(expectedCard.getCurrency(), cardFromJson.getCurrency()); assertEquals(expectedCard.getAddressCity(), cardFromJson.getAddressCity()); assertEquals(expectedCard.getAddressCountry(), cardFromJson.getAddressCountry()); assertEquals(expectedCard.getAddressLine1(), cardFromJson.getAddressLine1()); assertEquals(expectedCard.getAddressLine1Check(), cardFromJson.getAddressLine1Check()); assertEquals(expectedCard.getAddressLine2(), cardFromJson.getAddressLine2()); assertEquals(expectedCard.getAddressState(), cardFromJson.getAddressState()); assertEquals(expectedCard.getAddressZip(), cardFromJson.getAddressZip()); assertEquals(expectedCard.getAddressZipCheck(), cardFromJson.getAddressZipCheck()); assertEquals(expectedCard.getCvcCheck(), cardFromJson.getCvcCheck()); assertEquals(expectedCard.getName(), cardFromJson.getName()); assertEquals(expectedCard.getCustomerId(), cardFromJson.getCustomerId()); assertEquals(expectedCard.getFingerprint(), cardFromJson.getFingerprint()); assertEquals(expectedCard.getId(), cardFromJson.getId()); assertEquals(expectedCard.getMetadata(), cardFromJson.getMetadata()); }