/**
  * @param mixed $items
  * @param string $name
  * @return \JSONSchema\Structure\Item
  */
 private function determineItem($items, $name, Schema $schema)
 {
     $baseUrl = $schema->getConfig()->getBaseUrl();
     $additionalProperties = $schema->getConfig()->hasAdditionalProperties();
     $type = PropertyTypeMapper::map($items);
     $retItem = new Item();
     $retItem->setType($type);
     $retItem->setName($name);
     $retItem->setAdditionalProperties($additionalProperties);
     if ($baseUrl !== null) {
         $retItem->setId($baseUrl . '/' . $name);
     }
     return $this->determineChildItem($items, $retItem, $schema);
 }
 public function testGetterSetter()
 {
     $sUT = new Item();
     $id = 'test';
     $type = 'im';
     $additionalProperties = false;
     $required = 'test';
     $sUT->setId($id);
     $sUT->setType($type);
     $sUT->setAdditionalProperties($additionalProperties);
     $sUT->addRequired($required);
     $this->assertEquals($id, $sUT->getId());
     $this->assertEquals($type, $sUT->getType());
     $this->assertEquals($additionalProperties, $sUT->hasAdditionalProperties());
     $this->assertEquals(array($required), $sUT->getRequired());
 }