/** * @depends testDefaultPropertyImplementationWithAccessorsButWithoutStyle */ public function testDefaultPropertyImplementationWithAccessorsAndStyle() { $this->object->setAccessorsEnabled(true)->setAccessorsStyle(new CamelCaseStyle()); $propertyName = 'inferior'; $propertyImplementation = $this->object->getImplementationForProperty($propertyName); $this->assertSame('setInferior', $propertyImplementation->getSetter(), 'setter name should be null'); $this->assertSame('getInferior', $propertyImplementation->getGetter(), 'getter name should be null'); }
/** * @param PropertyOutline $property * @param ClassTypeImplementation $classOptions * @param ImplementationInterface $implementation * * @return PropertyDefinition */ protected function createPropertyDefinition(PropertyOutline $property, ClassTypeImplementation $classOptions, ImplementationInterface $implementation) { $propertyType = $this->schemaLinker->generateType($property->getType(), $implementation); $propertyDefinition = new PropertyDefinition($property->getName(), $propertyType); $propertyImplementation = $classOptions->getImplementationForProperty($property->getName()); $targetPropertyName = $propertyImplementation->getTargetPropertyName(); if ($targetPropertyName) { $propertyDefinition->setTargetPropertyName($targetPropertyName); } // nullable $propertyDefinition->setIsNullable($property->isNullable()); // default value if ($property->hasDefaultValue()) { $propertyDefinition->setDefaultValue($property->getDefaultValue()); } // setters and getters $setter = $propertyImplementation->getSetter(); if ($setter) { $propertyDefinition->setSetterName($setter); } $getter = $propertyImplementation->getGetter(); if ($getter) { $propertyDefinition->setGetterName($getter); } return $propertyDefinition; }