/** * @param \Ingenerator\Mailhook\Assert\PositiveAssertionRunner $positive_runner * @param \Ingenerator\Mailhook\EmailMatcher $matcher * @param \Ingenerator\Mailhook\Email $email1 * @param \Ingenerator\Mailhook\Email $email2 */ function it_runs_positive_assertions_and_returns_first_matching($positive_runner, $matcher, $email1, $email2) { $positive_runner->assert(array($matcher))->willReturn(array($email1, $email2)); $this->subject->firstEmailMatching($matcher)->shouldBe($email1); }
/** * @param EmailMatcher $matcher,... Matchers to run * * @return Email */ public function firstEmailMatching($matcher = NULL) { $matchers = func_get_args(); $emails = $this->positive_runner->assert($matchers); return array_shift($emails); }
/** * @param \Ingenerator\Mailhook\EmailListFilterer $filterer * @param \Ingenerator\Mailhook\Email $email_1 * @param \Ingenerator\Mailhook\Email $email_2 */ function it_returns_matching_emails_on_success($filterer, $email_1, $email_2) { $filterer->filterEmails(Argument::any(), Argument::any())->willReturn(array($email_1, $email_2)); $this->subject->assert()->shouldBe(array($email_1, $email_2)); }