public function test_send__always__delegatesSendingToSender()
 {
     // act
     $this->sut->send(self::SOME_MSISDN, self::SOME_CODE);
     // assert
     $expectedSentVerification = new Verification(self::SOME_MSISDN, self::SOME_CODE);
     self::assertTrue($this->fakeSender->sendHaveBeenCalledWith($expectedSentVerification));
 }
 public function test_send__firstSenderSucceeds__DoesNotDelegateToSecondSender()
 {
     // arrange
     $firstSender = new FakeVerificationSender();
     $secondSender = new FakeVerificationSender();
     $sut = new VerificationSenderFailover([$firstSender, $secondSender]);
     // act
     $sut->send($this->someVerification);
     // assert
     self::assertFalse($secondSender->sendHaveBeenCalled());
 }