public function testDescribeImplemented() { $name = 'fieldA'; $utilities = $this->getMockBuilder('Faker\\Components\\Engine\\Common\\Utilities')->disableOriginalConstructor()->getMock(); $generator = $this->getMock('\\PHPStats\\Generator\\GeneratorInterface'); $locale = $this->getMock('\\Faker\\Locale\\LocaleInterface'); $event = $this->getMockBuilder('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface')->getMock(); $database = $this->getMockBuilder('Doctrine\\DBAL\\Connection')->disableOriginalConstructor()->getMock(); $template = $this->getMockBuilder('Faker\\Components\\Templating\\Loader')->disableOriginalConstructor()->getMock(); $repo = $this->getMockBuilder('Faker\\Components\\Engine\\Common\\TypeRepository')->getMock(); $alternateBuilder = new SelectorAlternateBuilder($name, $event, $repo, $utilities, $generator, $locale, $database, $template); $this->assertInstanceOf('Faker\\Components\\Engine\\Common\\Builder\\NodeBuilder', $alternateBuilder->describe()); $this->assertEquals($alternateBuilder, $alternateBuilder->describe()->getParent()); $randomBuilder = new SelectorRandomBuilder($name, $event, $repo, $utilities, $generator, $locale, $database, $template); $this->assertInstanceOf('Faker\\Components\\Engine\\Common\\Builder\\NodeBuilder', $randomBuilder->describe()); $this->assertEquals($randomBuilder, $randomBuilder->describe()->getParent()); $weightBuilder = new SelectorWeightBuilder($name, $event, $repo, $utilities, $generator, $locale, $database, $template); $this->assertInstanceOf('Faker\\Components\\Engine\\Common\\Builder\\NodeBuilder', $weightBuilder->describe()); $this->assertEquals($weightBuilder, $weightBuilder->describe()->getParent()); # use swapAt not describe $swapBuilder = new SelectorSwapBuilder($name, $event, $repo, $utilities, $generator, $locale, $database, $template); $this->assertInstanceOf('Faker\\Components\\Engine\\Common\\Builder\\TypeBuilder', $swapBuilder->swapAt(100)); $this->assertEquals($swapBuilder, $swapBuilder->swapAt(100)->getParent()); }