Example #1
0
 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'));
 }