public function shouldHave($prediction)
    {
        if (is_callable($prediction)) {
            $prediction = new Prediction\CallbackPrediction($prediction);
        }

        if (!$prediction instanceof Prediction\PredictionInterface) {
            throw new InvalidArgumentException(sprintf(
                'Expected callable or instance of PredictionInterface, but got %s.',
                gettype($prediction)
            ));
        }

        if (null === $this->promise) {
            $this->willReturn();
        }

        $calls = $this->namespaceProphecy->findCalls($this->name, $this->getArgumentsWildcard());

        try {
            $prediction->check($calls, $this);
            $this->checkedPredictions[] = $prediction;
        } catch (\Exception $e) {
            $this->checkedPredictions[] = $prediction;

            throw $e;
        }

        return $this;
    }
public function shouldHave($prediction)
    {
        if (is_callable($prediction)) {
            $prediction = new Prediction\CallbackPrediction($prediction);
        }

        if (!$prediction instanceof Prediction\PredictionInterface) {
            throw new InvalidArgumentException(sprintf(
                'Expected callable or instance of PredictionInterface, but got %s.',
                gettype($prediction)
            ));
        }

        if (null === $this->promise) {
            $this->willReturn();
        }

        $calls = $this->namespaceProphecy->findCalls($this->name, $this->getArgumentsWildcard());

        try {
            $prediction->check($calls, $this);
            $this->checkedPredictions[] = $prediction;
        } catch (\Exception $e) {
            $this->checkedPredictions[] = $prediction;

            throw $e;
        }

        return $this;
    }
public function shouldHave ( $ prediction ) { if ( is_callable ( $ prediction ) ) { $ prediction = new Prediction \ CallbackPrediction ( $ prediction ) ; } if ( ! $ prediction instanceof Prediction \ PredictionInterface ) { throw new InvalidArgumentException ( sprintf ( 'Expected callable or instance of PredictionInterface, but got %s.' , gettype ( $ prediction ) ) ) ; } if ( null === $ this -> promise ) { $ this -> willReturn ( ) ; } $ calls = $ this -> namespaceProphecy -> findCalls ( $ this -> name , $ this -> getArgumentsWildcard ( ) ) ; try { $ prediction -> check ( $ calls , $ this ) ; $ this -> checkedPredictions [ ] = $ prediction ; } catch ( \ Exception $ e ) { $ this -> checkedPredictions [ ] = $ prediction ; throw $ e ; } return $ this ; }
Checks provided prediction immediately.

@param callable|Prediction\PredictionInterface $prediction

@return $this

@throws InvalidArgumentException
@throws \Exception
Checks provided prediction immediately .