public function it_sets_internal_state_to_success_if_all_statuses_passed(GithubCommit $githubCommit, GithubCommitStatus $commitStatus1, GithubCommitStatus $commitStatus2, GithubCommitStatus $commitStatus3, GithubCommitStatus $commitStatus4)
 {
     $commitStatusCollection = [$commitStatus1, $commitStatus2, $commitStatus3, $commitStatus4];
     $commitStatus1->getState()->willReturn(GithubCommitStatusState::PASSED);
     $commitStatus2->getState()->willReturn(GithubCommitStatusState::PASSED);
     $commitStatus3->getState()->willReturn(GithubCommitStatusState::PASSED);
     $commitStatus4->getState()->willReturn(GithubCommitStatusState::PASSED);
     $githubCommit->getCommitStatuses()->willReturn($commitStatusCollection);
     $githubCommit->setInternalStatus(InternalStatus::SUCCESS)->shouldBeCalled();
     $this->calculate($githubCommit)->shouldReturn($githubCommit);
 }
 /**
  * @param GithubCommit $githubCommit
  * @param              $expectedStates
  *
  * @return bool
  */
 private function anyEqualTo(GithubCommit $githubCommit, $expectedStates)
 {
     foreach ($githubCommit->getCommitStatuses() as $status) {
         if (in_array($status->getState(), $expectedStates)) {
             return true;
         }
     }
     return false;
 }