/** * @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)); }
/** * 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); } }