@Override public void onClick(View view) { if (!maskedCardView.isSelected()) { maskedCardView.toggleSelected(); updateSelectedIndex(index); } } });
@Test public void toggleSelected_switchesState() { CustomerSource customerSource = CustomerSource.fromString(JSON_CARD); assertNotNull(customerSource); mMaskedCardView.setCustomerSource(customerSource); assertFalse(mMaskedCardView.isSelected()); mMaskedCardView.toggleSelected(); assertTrue(mMaskedCardView.isSelected()); assertEquals(View.VISIBLE, mSelectedImageView.getVisibility()); mMaskedCardView.toggleSelected(); assertFalse(mMaskedCardView.isSelected()); assertEquals(View.INVISIBLE, mSelectedImageView.getVisibility()); }
@Test public void setSelected_changesCheckMarkVisibility() { CustomerSource customerSource = CustomerSource.fromString(JSON_CARD); assertNotNull(customerSource); mMaskedCardView.setCustomerSource(customerSource); assertFalse(mMaskedCardView.isSelected()); assertEquals(View.INVISIBLE, mSelectedImageView.getVisibility()); mMaskedCardView.setSelected(true); assertTrue(mMaskedCardView.isSelected()); assertEquals(View.VISIBLE, mSelectedImageView.getVisibility()); }
@Test public void setCard_setsCorrectData() { Card card = new Card(CardInputTestActivity.VALID_AMEX_NO_SPACES, 12, 50, "1234"); mMaskedCardView.setCard(card); assertEquals("0005", mMaskedCardView.getLast4()); assertEquals(Card.AMERICAN_EXPRESS, mMaskedCardView.getCardBrand()); assertFalse(mMaskedCardView.isSelected()); }
@Test public void setCustomerSource_withNonCardSource_setsNoData() { CustomerSource customerSource = CustomerSource.fromString(EXAMPLE_JSON_SOURCE_BITCOIN); assertNotNull(customerSource); assertNotNull(customerSource.asSource()); mMaskedCardView.setCustomerSource(customerSource); assertNull(mMaskedCardView.getCardBrand()); assertNull(mMaskedCardView.getLast4()); assertFalse(mMaskedCardView.isSelected()); }
@Test public void setCustomerSource_withCardSource_setsCorrectData() { CustomerSource customerSource = CustomerSource.fromString(EXAMPLE_JSON_CARD_SOURCE); assertNotNull(customerSource); assertNotNull(customerSource.asSource()); mMaskedCardView.setCustomerSource(customerSource); assertEquals(Card.VISA, mMaskedCardView.getCardBrand()); assertEquals("4242", mMaskedCardView.getLast4()); assertFalse(mMaskedCardView.isSelected()); }
@Test public void setSourceCardData_withCardSource_setsCorrectData() { Source source = Source.fromString(EXAMPLE_JSON_CARD_SOURCE); assertNotNull(source); assertTrue(source.getSourceTypeModel() instanceof SourceCardData); SourceCardData sourceCardData = (SourceCardData) source.getSourceTypeModel(); assertNotNull(sourceCardData); mMaskedCardView.setSourceCardData(sourceCardData); assertEquals(Card.VISA, mMaskedCardView.getCardBrand()); assertEquals("4242", mMaskedCardView.getLast4()); assertFalse(mMaskedCardView.isSelected()); }
@Test public void setCustomerSource_withCardObject_setsCorrectData() { CustomerSource customerSource = CustomerSource.fromString(JSON_CARD); assertNotNull(customerSource); assertNotNull(customerSource.asCard()); assertNull(customerSource.asSource()); mMaskedCardView.setCustomerSource(customerSource); assertEquals(Card.MASTERCARD, mMaskedCardView.getCardBrand()); assertEquals("5555", mMaskedCardView.getLast4()); assertFalse(mMaskedCardView.isSelected()); }