public function testBuildWithProvidedSchema() { $outline = new SchemaOutline(); $outline->addTypeOutline(new StringOutline()); $this->object->setSchemaOutlineBuilder(new SchemaOutlineBuilder($outline)); $expected = new Schema(); $expected->registerType('string', new StringType()); $this->prepareBuilder($expected); $this->assertEquals($expected, $this->object->build()); }
protected function setUp() { $builder = new SchemaBuilder(); $this->object = $builder->build()->getType('Exception'); }
{ $this->street = $street; } /** * @return mixed */ public function getStreet() { return $this->street; } } $cache = new SchemaCache(__DIR__ . '/cache/schema'); if (!$cache->isFresh()) { $locator = new FileLocator(array(__DIR__)); $builder = new SchemaBuilder(); $builder->registerLoader(new YamlLoader($locator)); $builder->loadSchema('schema.yml'); $builder->loadImplementation('implementation.yml'); $schema = $builder->build(); $cache->write($schema, $builder->getResources()); } else { $schema = $cache->get(); } $data = array('name' => 'Łukasz', 'registrationDate' => 1123818123, 'status' => 'ACTIVE', 'addresses' => array(array('street' => 'Sportowa', 'city' => 'Gdynia'), array('street' => 'Zamkowa', 'city' => 'Gdańsk'))); echo 'Raw data' . PHP_EOL; print_r($data); echo PHP_EOL . 'Transformed to "User" type:' . PHP_EOL; $object = $schema->getType('User')->create($data); print_r($object); echo PHP_EOL . 'Extracted data from object of "User" type:' . PHP_EOL; print_r($schema->getType('User')->extract($object));