Exemplo n.º 1
0
 /**
  * @param string $classname
  * @param string $method
  * @param array $arguments
  *
  * @return Fracture\MethodNotVisibleException
  */
 public function methodNotVisible($classname, $method, array $arguments = array())
 {
     $instantiator = new Instantiator();
     $subject = $instantiator->instantiate($classname);
     $message = sprintf('Method %s not visible.', $this->presenter->presentString($classname . '::' . $method));
     return new Fracture\MethodNotVisibleException($message, $subject, $method, $arguments);
 }
Exemplo n.º 2
0
 /**
  * @param string $method
  * @param array  $arguments
  *
  * @return mixed
  */
 public function during($method, array $arguments = array())
 {
     if ($method === '__construct') {
         $this->subject->beAnInstanceOf($this->wrappedObject->getClassname(), $arguments);
         $instantiator = new Instantiator();
         $object = $instantiator->instantiate($this->wrappedObject->getClassname());
     } else {
         $object = $this->wrappedObject->instantiate();
     }
     return $this->runDuring($object, $method, $arguments);
 }
Exemplo n.º 3
0
 /**
  * @return mixed
  */
 public function duringInstantiation()
 {
     if ($factoryMethod = $this->wrappedObject->getFactoryMethod()) {
         $method = is_array($factoryMethod) ? $factoryMethod[1] : $factoryMethod;
     } else {
         $method = '__construct';
     }
     $instantiator = new Instantiator();
     $object = $instantiator->instantiate($this->wrappedObject->getClassName());
     return $this->runDuring($object, $method, $this->wrappedObject->getArguments());
 }
Exemplo n.º 4
0
 /**
  * @param string        $alias
  * @param mixed         $subject
  * @param array         $arguments
  * @param WrappedObject $wrappedObject
  *
  * @return boolean
  *
  * @throws \Exception
  * @throws \PhpSpec\Exception\Example\ErrorException
  * @throws \Exception
  * @throws \PhpSpec\Exception\Fracture\FractureException
  */
 public function match($alias, $subject, array $arguments = array(), WrappedObject $wrappedObject = null)
 {
     try {
         $wrapped = $subject->getWrappedObject();
     } catch (ErrorException $e) {
         throw $e;
     } catch (FractureException $e) {
         throw $e;
     } catch (Exception $e) {
         if (null !== $wrappedObject && $wrappedObject->getClassName()) {
             $instantiator = new Instantiator();
             $wrapped = $instantiator->instantiate($wrappedObject->getClassName());
         }
     }
     return $this->getExpectation()->match($alias, $wrapped, $arguments);
 }
Exemplo n.º 5
0
 /**
  * @return object
  */
 private function makeSureWeHaveASubject()
 {
     if (null === $this->subject && $this->wrappedObject->getClassname()) {
         $instantiator = new Instantiator();
         return $instantiator->instantiate($this->wrappedObject->getClassname());
     }
     return $this->subject;
 }