public void BeValidWithCorrectCardType_WhenCreditCardSubmittedForVerification(CreditCardHandlerCreator creditCardHandlerCreator, string cardNumber) { // Arrange var creditCard = PrepareCreditCardPayment(cardNumber); var expectedCreditCardHandler = creditCardHandlerCreator(_paymentGateway); // Act var isValid = _creditCardHandler.IsCreditCardValid(creditCard); // Assert using (new FluentAssertions.Execution.AssertionScope("credit card")) { isValid.Should().BeTrue(); _paymentGateway.IsCalledWith(creditCard, Times.Once(), expectedCreditCardHandler); } }
public virtual bool IsCreditCardValid(ICreditCard card) { if (nextCreditCardHandler != null) { return(nextCreditCardHandler.IsCreditCardValid(card)); } return(false); }