public function testProperty()
 {
     $property = new Definition\Property();
     $property->add(array('username' => 'iqbal', 'password' => 'opensource'));
     $this->assertTrue($property->has('username'));
     $this->assertCount(2, $property->all());
     $this->assertEquals('opensource', $property->get('password'));
     $property->replace(array('error' => 'not logged in'));
     $this->assertCount(1, $property->all());
     $this->assertFalse($property->has('username'));
     $this->assertTrue($property->has('error'));
     $this->assertNull($property->get('password'));
 }
 /**
  * Shortcut set property.
  *
  * @param string $property
  * @param mixed  $value
  *
  * @return static
  */
 public function setProperty($property, $value)
 {
     $this->property->set($property, $value);
     return $this;
 }