public function should($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)
            ));
        }

        $this->bind();
        $this->prediction = $prediction;

        return $this;
    }
public function should($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)
            ));
        }

        $this->bind();
        $this->prediction = $prediction;

        return $this;
    }
public function should ( $ 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 ) ) ) ; } $ this -> bind ( ) ; $ this -> prediction = $ prediction ; return $ this ; }
Sets custom prediction to the prophecy.

@param callable|Prediction\PredictionInterface $prediction

@return $this

@throws InvalidArgumentException
Sets custom prediction to the prophecy .