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;
 }
Ejemplo n.º 2
0
 public function testValidationCallsChildren()
 {
     $id = 'schema_1';
     $event = $this->getMockBuilder('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface')->getMock();
     $column = new ColumnNode($id, $event);
     $childA = $this->getMockBuilder('Faker\\Tests\\Engine\\XML\\Mock\\MockNode')->disableOriginalConstructor()->getMock();
     $childA->expects($this->once())->method('validate');
     $column->addChild($childA);
     $column->setOption('name', 'schemaNode');
     $column->setOption('generatorSeed', 100);
     $column->setOption('randomGenerator', 'srand');
     $column->setOption('type', 'integer');
     $column->validate();
     $this->assertEquals(100, $column->getOption('generatorSeed'));
     $this->assertEquals('srand', $column->getOption('randomGenerator'));
 }