Exemple #1
0
 /**
  * Returns whether or not a call has been made in the associated call recorder.
  *
  * @todo Maybe rename this to findMatchedCalls?
  *
  * @param Phake_CallRecorder_CallExpectation $expectation
  *
  * @return Phake_CallRecorder_VerifierResult
  */
 public function verifyCall(Phake_CallRecorder_CallExpectation $expectation)
 {
     $matcher = new Phake_Matchers_MethodMatcher($expectation->getMethod(), $expectation->getArgumentMatchers());
     $calls = $this->recorder->getAllCalls();
     $matchedCalls = array();
     $methodNonMatched = array();
     $obj_interactions = false;
     foreach ($calls as $call) {
         /* @var $call Phake_CallRecorder_Call */
         if ($call->getObject() === $expectation->getObject()) {
             $obj_interactions = true;
             $args = $call->getArguments();
             if ($matcher->matches($call->getMethod(), $args)) {
                 $matchedCalls[] = $this->recorder->getCallInfo($call);
             } elseif ($call->getMethod() == $expectation->getMethod()) {
                 $methodNonMatched[] = $call->__toString();
             }
         }
     }
     $verifierModeResult = $expectation->getVerifierMode()->verify($matchedCalls);
     if (!$verifierModeResult->getVerified()) {
         $additions = '';
         if (!$obj_interactions) {
             $additions .= ' In fact, there are no interactions with this mock.';
         }
         if (count($methodNonMatched)) {
             $additions .= "\nOther Invocations:\n  " . implode("\n  ", $methodNonMatched);
         }
         return new Phake_CallRecorder_VerifierResult(false, array(), $expectation->__toString() . ', ' . $verifierModeResult->getFailureDescription() . '.' . $additions);
     }
     return new Phake_CallRecorder_VerifierResult(true, $matchedCalls);
 }
 public function testStaticToString()
 {
     /** @var $mock Phake_IMock */
     $mock = Phake::mock('Phake_IMock');
     $matcher1 = Phake::mock('Phake_Matchers_IChainableArgumentMatcher');
     Phake::when($matcher1)->__toString()->thenReturn('100');
     $matcher2 = Phake::mock('Phake_Matchers_IChainableArgumentMatcher');
     Phake::when($matcher2)->__toString()->thenReturn('200');
     Phake::when($matcher1)->getNextMatcher->thenReturn($matcher2);
     $verifierMode = Phake::mock('Phake_CallRecorder_IVerifierMode');
     Phake::when($verifierMode)->__toString()->thenReturn('2 times');
     $expectation = new Phake_CallRecorder_CallExpectation(get_class($mock), 'method', $matcher1, $verifierMode);
     $this->assertEquals("Expected Phake_IMock::method(100, 200) to be called 2 times", $expectation->__toString());
 }
Exemple #3
0
 public function testToString()
 {
     /** @var $mock Phake_IMock */
     $mock = $this->getMock('Phake_IMock');
     $matcher1 = Phake::mock('Phake_Matchers_IArgumentMatcher');
     Phake::when($matcher1)->__toString()->thenReturn('100');
     $matcher2 = Phake::mock('Phake_Matchers_IArgumentMatcher');
     Phake::when($matcher2)->__toString()->thenReturn('200');
     $verifierMode = Phake::mock('Phake_CallRecorder_IVerifierMode');
     Phake::when($verifierMode)->__toString()->thenReturn('2 times');
     $mockReader = Phake::mock('Phake_MockReader');
     Phake::when($mockReader)->getName($this->anything())->thenReturn('Phake_IMock');
     $expectation = new Phake_CallRecorder_CallExpectation($mock, 'method', array($matcher1, $matcher2), $verifierMode, $mockReader);
     $this->assertEquals("Expected Phake_IMock->method(100, 200) to be called 2 times", $expectation->__toString());
 }