public function testProperties() { $properties = array(); $properties[1] = new Property('public', 'property1', true); $properties[2] = new Property('public', 'property2', true); $properties[3] = new Property('public', 'property3', true); $properties[4] = new Property('public', 'property4', true); $definition = new Definition('Class1'); // addProperty $definition->addProperty($properties[1]); $definition->addProperty($properties[2]); $this->assertSame(array($properties[1], $properties[2]), $definition->getProperties()); // setProperties $definition->setProperties(array($properties[3], $properties[4])); $this->assertSame(array($properties[3], $properties[4]), $definition->getProperties()); // hasPropertyByName $this->assertTrue($definition->hasPropertyByName('property3')); $this->assertFalse($definition->hasPropertyByName('property1')); // getPropertyByName $this->assertSame($properties[3], $definition->getPropertyByName('property3')); $this->assertSame($properties[4], $definition->getPropertyByName('property4')); // removePropertyByName $definition->setProperties($properties); $definition->removePropertyByName('property2'); $this->assertFalse($definition->hasPropertyByName('property2')); $this->assertTrue($definition->hasPropertyByName('property1')); $this->assertTrue($definition->hasPropertyByName('property3')); $this->assertTrue($definition->hasPropertyByName('property4')); }