コード例 #1
0
 protected function getComposite()
 {
     $event = $this->getMockBuilder('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface')->getMock();
     $schema = new SchemaNode('schema', $event);
     $tableA = new TableNode('tableA', $event);
     $columnA1 = new ColumnNode('columnA1', $event);
     $columnA2 = new ColumnNode('columnA2', $event);
     $tableB = new TableNode('tableB', $event);
     $columnB1 = new ColumnNode('columnB1', $event);
     $columnB2 = new ColumnNode('columnB2', $event);
     $tableC = new TableNode('tableC', $event);
     $columnC1 = new ColumnNode('columnC1', $event);
     $columnC2 = new ColumnNode('columnC2', $event);
     $fkc1 = new ForeignKeyNode('fkc1', $event);
     $fkc1->setOption('foreignTable', $tableA->getId());
     $fkc1->setOption('foreignColumn', $columnA1->getId());
     $columnC2->addChild($fkc1);
     $tableC->addChild($columnC1);
     $tableC->addChild($columnC2);
     $tableB->addChild($columnB1);
     $tableB->addChild($columnB2);
     $tableA->addChild($columnA1);
     $tableA->addChild($columnA2);
     $schema->addChild($tableC);
     $schema->addChild($tableB);
     $schema->addChild($tableA);
     return $schema;
 }
コード例 #2
0
 protected function getComposite()
 {
     $event = $this->getMockBuilder('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface')->getMock();
     $schema = new SchemaNode('schema', $event);
     $formatter = $this->getMockBuilder('Faker\\Tests\\Engine\\Common\\Formatter\\Mock\\MockFormatter')->disableOriginalConstructor()->getMock();
     $tableA = new TableNode('tableA', $event);
     $columnA1 = new ColumnNode('columnA1', $event);
     $columnA2 = new ColumnNode('columnA2', $event);
     $tableB = new TableNode('tableB', $event);
     $columnB1 = new ColumnNode('columnB1', $event);
     $columnB2 = new ColumnNode('columnB2', $event);
     $tableC = new TableNode('tableC', $event);
     $columnC1 = new ColumnNode('columnC1', $event);
     $columnC2 = new ColumnNode('columnC2', $event);
     $fkc1 = new ForeignKeyNode('fkc1', $event);
     $fmNode = new FormatterNode('fmnode', $event, $formatter);
     $fkc1->setOption('foreignTable', $tableA->getId());
     $fkc1->setOption('foreignColumn', $columnA1->getId());
     $columnC2->addChild($fkc1);
     $tableC->addChild($columnC1);
     $tableC->addChild($columnC2);
     $tableB->addChild($columnB1);
     $tableB->addChild($columnB2);
     $tableA->addChild($columnA1);
     $tableA->addChild($columnA2);
     $schema->addChild($tableA);
     $schema->addChild($tableB);
     $schema->addChild($tableC);
     $schema->addChild($fmNode);
     return $schema;
 }
コード例 #3
0
 /**
  * Instantiate and configure the node according to this definition
  *
  * @return Faker\Components\Engine\Common\Composite\CompositeInterface The node instance
  *
  * @throws InvalidDefinitionException When the definition is invalid
  */
 public function getNode()
 {
     $node = new ForeignKeyNode('ForeignKeyNode', $this->eventDispatcher);
     foreach ($this->attributes as $attribute => $value) {
         $node->setOption($attribute, $value);
     }
     return $node;
 }
コード例 #4
0
 public function validate()
 {
     $children = $this->getChildren();
     # run the parent validation function
     parent::validate();
     # validate the child nodes in composite
     foreach ($children as $child) {
         $child->validate();
     }
     return true;
 }
コード例 #5
0
 public function testValidationPass()
 {
     $utilities = $this->getMockBuilder('Faker\\Components\\Engine\\Common\\Utilities')->getMock();
     $generator = $this->getMock('\\PHPStats\\Generator\\GeneratorInterface');
     $locale = $this->getMock('\\Faker\\Locale\\LocaleInterface');
     $event = $this->getMockBuilder('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface')->getMock();
     $id = 'foreignKeyNode';
     $cache = $this->getMockBuilder('Faker\\Components\\Engine\\Common\\GeneratorCache')->disableOriginalConstructor()->getMock();
     $type = new ForeignKeyNode($id, $event);
     $type->setResultCache($cache);
     $type->setOption('foreignTable', 'aaaa');
     $type->setOption('foreignColumn', 'aaaa');
     $type->setOption('foreignColumn', 'aaaa');
     $type->validate();
     $this->assertTrue($type->getUseCache());
     $type->setOption('silent', true);
     $type->validate();
     $this->assertFalse($type->getUseCache());
 }