예제 #1
0
 /**
  * Checks all predictions defined by prophecies of this Prophet.
  *
  * @throws Exception\Prediction\AggregateException If any prediction fails
  */
 public function checkPredictions()
 {
     $exception = new AggregateException("Some predictions failed:\n");
     foreach ($this->prophecies as $prophecy) {
         try {
             $prophecy->checkProphecyMethodsPredictions();
         } catch (PredictionException $e) {
             $exception->append($e);
         }
     }
     if (count($exception->getExceptions())) {
         throw $exception;
     }
 }
예제 #2
0
 /**
  * Checks that registered method predictions do not fail.
  *
  * @throws \Prophecy\Exception\Prediction\AggregateException If any of registered predictions fail
  */
 public function checkProphecyMethodsPredictions()
 {
     $exception = new AggregateException(sprintf("%s:\n", get_class($this->reveal())));
     $exception->setObjectProphecy($this);
     foreach ($this->methodProphecies as $prophecies) {
         foreach ($prophecies as $prophecy) {
             try {
                 $prophecy->checkPrediction();
             } catch (PredictionException $e) {
                 $exception->append($e);
             }
         }
     }
     if (count($exception->getExceptions())) {
         throw $exception;
     }
 }