Пример #1
0
 /**
  * @covers Puml\Model\Object::getProperties
  * @todo   Implement testGetProperties().
  */
 public function testGetProperties()
 {
     $this->markTestSkipped();
     $this->assertEmpty($this->object->getProperties());
     $property = $this->getMock('\\Puml\\Model\\Property');
     $property->expects($this->any())->method('getName')->will($this->returnValue("name"));
     $this->object->addProperty($property);
     var_dump($this->object->getProperties());
     $this->assertContains($property, $this->object->getProperties());
     $this->assertEmpty($this->object->getProperties(\ReflectionMethod::IS_STATIC));
 }
Пример #2
0
 /**
  * Extract the properties of the reflection class into the object
  *
  * @param \ReflectionClass   $reflectedObject The reflected object to
  *                                            extract the properties out of.
  * @param \Puml\Model\Object $object          The object to add the property
  *                                            to.
  *
  * @return void
  * @since 0.1
  */
 protected function extractProperties(\ReflectionClass $reflectedObject, \Puml\Model\Object $object)
 {
     foreach ($reflectedObject->getProperties() as $reflectedProperty) {
         $reflectedProperty->setAccessible(true);
         $property = new Property();
         /* Skip when its not declared in this class */
         if ($reflectedProperty->getDeclaringClass()->getName() != $reflectedObject->getName()) {
             continue;
         }
         /* Determine visibility */
         if ($reflectedProperty->isStatic()) {
             $property->setVisibility(\ReflectionProperty::IS_STATIC);
         } elseif ($reflectedProperty->isPublic()) {
             $property->setVisibility(\ReflectionProperty::IS_PUBLIC);
         } elseif ($reflectedProperty->isProtected()) {
             $property->setVisibility(\ReflectionProperty::IS_PROTECTED);
         } else {
             $property->setVisibility(\ReflectionProperty::IS_PRIVATE);
         }
         /* Determine type */
         $type = $this->determinePropertyType($reflectedProperty);
         $property->setName($reflectedProperty->getName())->setType($type);
         $object->addProperty($property);
     }
 }