public function testPropertiesManipulation() { $sUT = new Schema(); $sUT->addProperty('test', new Property()); $items = $sUT->getProperties(); $this->assertSame(1, count($items)); $sUT->addProperty('test', new Property(), true); $this->assertSame(1, count($sUT->getProperties())); $this->assertSame(1, count($sUT->getRequired())); $sUT->removeProperty('test'); $this->assertSame(0, count($sUT->getProperties())); $this->assertSame(0, count($sUT->getRequired())); $sUT->addProperty('test', new Property(), true); $this->assertSame(1, count($sUT->getProperties())); $this->assertSame(1, count($sUT->getRequired())); $this->setExpectedException('JSONSchema\\Structure\\Exceptions\\OverwriteKeyException'); $sUT->addProperty('test', new Property(), false, false); }