function it_also_validates_methods(CollectionValidator $collectionValidator, MethodValidator $methodValidator, Object $model, Method $method) { $constants = array(); $contracts = array(); $methods = array($method); $properties = array(); $violationCollection1 = new ViolationCollection(); $violationCollection2 = new ViolationCollection(); $violationCollection3 = new ViolationCollection(); $violationCollection4 = new ViolationCollection(); $violationCollection5 = new ViolationCollection(); $model->getName()->willReturn('Symfony\\Component\\HttpKernel\\HttpKernelInterface'); $model->isAbstract()->willReturn(true); $model->allConstants()->willReturn($constants); $model->allContracts()->willReturn($contracts); $model->allMethods()->willReturn($methods); $model->allProperties()->willReturn($properties); $collectionValidator->validate($constants)->willReturn($violationCollection1); $collectionValidator->validate($contracts)->willReturn($violationCollection2); $collectionValidator->validate($properties)->willReturn($violationCollection3); $collectionValidator->validate($methods)->willReturn($violationCollection4); $methodValidator->validate($method)->willReturn($violationCollection5); $this->validate($model); }
/** * @param Object $object * @param $filePath * @param array $fqns * @return $this */ protected function dumpObject(Object $object, $filePath, array $fqns = []) { $fileDir = dirname($filePath); $file = File::make($filePath); if ($object->hasParent()) { $fqns[] = $object->getParent()->getFullyQualifiedName(); } foreach ($object->allContracts() as $contract) { $fqns[] = $contract->getFullyQualifiedName(); } sort($fqns); foreach ($fqns as $name) { if (is_array($name)) { $keys = array_keys($name); $fqn = new FullyQualifiedName($name[$keys[0]]); $fqn->setAlias($keys[0]); $file->addFullyQualifiedName($fqn); } else { $file->addFullyQualifiedName(new FullyQualifiedName($name)); } } $file->setStructure($object); $this->filesystem->mkdir($fileDir, 0755); $this->filesystem->dumpFile($filePath, Build::prettyPrinter()->generateCode($file), 0755); return $this; }