dox Executable Documentation

Read state properties

Find all non static properties

When I read the state properties of 'stateProperties\\SomeClass'
Then there should be 3 properties

Access private properties

Given an instance of 'stateProperties\\SomeClass' with array('a private', 'a protected', 'a public')
When I read the state properties of 'stateProperties\\SomeClass'
Then there should be 3 properties
Then the value of property 'private' should be 'a private'
Then the value of property 'protected' should be 'a protected'
Then the value of property 'public' should be 'a public'
When I set 'private' to 'not so private'
Then the value of property 'private' should be 'not so private'

Include properties of parent classes

Given the class 'parentProperties\\GreatParentClass' with the body ' /** @var string */ private $one; /** @var string */ protected $two; /** @var string */ public $three; '
Given the class 'parentProperties\\ParentClass' extending 'GreatParentClass' with the body ' /** @var string */ private $four; '
Given the class 'parentProperties\\ChildClass' extending 'ParentClass' with the body ' /** @var int */ protected $two; /** @var string */ private $five; '
When I read the state properties of 'parentProperties\\ChildClass'
Then the properties should be array('two', 'five', 'three', 'four', 'one')
Then the type of 'two' should be new MultiType(array(new IntegerType(), new StringType()))

Use filter to ignore private properties

When I read the state properties of 'stateProperties\\SomeClass' with the filter ~\ReflectionProperty::IS_PRIVATE
Then the properties should be array('protected', 'public')