@Test public void equals_whenEquals_returnsTrue() { assertTrue(StripeJsonModel.class.isAssignableFrom(Card.class)); Card firstCard = Card.fromString(CardTest.JSON_CARD); Card secondCard = Card.fromString(CardTest.JSON_CARD); assertEquals(firstCard, secondCard); // Just confirming for sanity assertNotSame(firstCard, secondCard); }
@Test public void fromString_whenStringIsBadJson_returnsNull() { assertNull(Card.fromString(BAD_JSON)); }
@Test public void equals_whenNotEquals_returnsFalse() { assertTrue(StripeJsonModel.class.isAssignableFrom(Card.class)); Card firstCard = Card.fromString(CardTest.JSON_CARD); Card secondCard = Card.fromString(CardTest.JSON_CARD); assertNotNull(firstCard); assertNotNull(secondCard); String firstName = firstCard.getName(); String secondName = firstName == null ? "a non-null value" : firstName + "a change"; secondCard.setName(secondName); assertNotEquals(firstCard, secondCard); }
@Test public void hashCode_whenEquals_returnsSameValue() { assertTrue(StripeJsonModel.class.isAssignableFrom(Card.class)); Card firstCard = Card.fromString(CardTest.JSON_CARD); Card secondCard = Card.fromString(CardTest.JSON_CARD); assertNotNull(firstCard); assertNotNull(secondCard); assertEquals(firstCard.hashCode(), secondCard.hashCode()); }
@Test public void hashCode_whenNotEquals_returnsDifferentValues() { assertTrue(StripeJsonModel.class.isAssignableFrom(Card.class)); Card firstCard = Card.fromString(CardTest.JSON_CARD); Card secondCard = Card.fromString(CardTest.JSON_CARD); assertNotNull(firstCard); assertNotNull(secondCard); String firstCurrency = firstCard.getCurrency(); String secondCurrency = "USD".equals(firstCurrency) ? "EUR" : "USD"; secondCard.setCurrency(secondCurrency); assertNotEquals(firstCard.hashCode(), secondCard.hashCode()); }
@Test public void fromString_toJson_yieldsSameObject() { Card cardFromJson = Card.fromString(JSON_CARD); assertNotNull(cardFromJson); JSONObject cycledCardObject = cardFromJson.toJson(); try { JSONObject rawJsonObject = new JSONObject(JSON_CARD); JsonTestUtils.assertJsonEquals(cycledCardObject, rawJsonObject); } catch (JSONException unexpected) { fail(); } }
sourcesArray.put(applePayCard.toJson()); Card testCard = Card.fromString(JSON_CARD); assertNotNull(testCard);
@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()); }