示例#1
0
 /**
  *
  */
 public function testCaseSupervisor_RejectsPromise_WhenNoValidExceptionFound()
 {
     $ex = new RejectionException();
     $params = ['param' => 'value'];
     $result = null;
     $factory = new SolverFactory();
     $factory->define('Unexpected', function () {
         return new UnexpectedSolver();
     });
     $super = $this->createSupervisor($factory, [], [WriteException::class => 'Unexpected']);
     $super->solve($ex, $params)->then(null, function ($ex) use(&$result) {
         $result = $ex;
     });
     $this->assertInstanceOf(ExecutionException::class, $result);
 }
示例#2
0
 /**
  * @param mixed[] $params
  * @param SolverInterface[] $rules
  * @param mixed[]|null $methods
  * @return Supervisor|\PHPUnit_Framework_MockObject_MockObject
  */
 public function createSupervisor($params = [], $rules = [], $methods = null)
 {
     $factory = new SolverFactory();
     $factory->define('TestHandler', function () {
         return $this->createSolver();
     })->define('ValidHandler', function () {
         return $this->createSolver();
     });
     return $this->getMock(Supervisor::class, $methods, [$factory, $params, $rules]);
 }
示例#3
0
 /**
  * @param RuntimeModelInterface $model
  * @param string[]|null $methods
  * @return Supervisor|\PHPUnit_Framework_MockObject_MockObject
  */
 public function createSupervisor($model, $methods = null)
 {
     $factory = new SolverFactory();
     $factory->define(ModelContinue::class, function ($context = []) use($model) {
         return new ModelContinue(array_merge(['model' => $model], $context));
     });
     return $this->getMock(Supervisor::class, $methods, [$factory]);
 }