Example #1
0
 /**
  * Generate class initialization code
  * @param Cogen\Code $code
  * @param string $instanceVariable
  * @return string
  */
 public function getClassInitialization(Code $code, $instanceVariable, $isMock = false)
 {
     if ($isMock) {
         $lines = array();
         foreach ($this->class->getGetters() as $method) {
             /* @var $method ReflectionMethod */
             $lines[] = "{$instanceVariable}->expects(\$this->once())->method('{$method->getName()}')";
             $lines[] = "\t->will(\$this->returnCallback(function() {";
             $lines[] = "\t\treturn null;";
             $lines[] = "\t}));";
         }
         $code->after($lines);
         return "{$instanceVariable} = \$this->getMock('{$this->class->getName()}');";
     }
     $lines = array();
     $arguments = '';
     $lines = array();
     foreach ($this->class->getSetters() as $method) {
         /* @var $method ReflectionMethod */
         $lines[] = $this->generateTestMethodCall($method, $instanceVariable, $code, true);
     }
     $code->after($lines);
     return "{$instanceVariable} = new {$this->class->getName()}({$arguments});";
 }
Example #2
0
 /**
  * Process getter methods
  * @param string $instanceVariable
  * @param Cogen\Reflection\ReflectionClass $class
  * @param Cogen\Code $code
  */
 public function generateGetters($instanceVariable, ReflectionClass $class, Code $code)
 {
     foreach ($class->getGetters() as $getter) {
         /* @var $getter ReflectionMethod */
         $invokation = $this->generateTestMethodCall($getter, $instanceVariable, $code);
         if ($getter->isScalarReturn()) {
             $actualName = $invokation->getResultVariable();
             $expectedName = $getter->getNameWrapped('expected', 'Result', true);
             $code->expect("{$expectedName} = null;");
             $code->assert("\$this->assertEquals({$expectedName}, {$actualName});");
         }
     }
 }