/** * @test */ public function getTypeOfChildPropertyShouldRemoveLeadingBackslashesForAnnotationParameters() { $this->mockReflectionService->expects($this->any())->method('getMethodParameters')->with('TheTargetType', '__construct')->will($this->returnValue([])); $this->mockReflectionService->expects($this->any())->method('hasMethod')->with('TheTargetType', 'setThePropertyName')->will($this->returnValue(false)); $this->mockReflectionService->expects($this->any())->method('getClassPropertyNames')->with('TheTargetType')->will($this->returnValue(['thePropertyName'])); $this->mockReflectionService->expects($this->any())->method('getPropertyTagValues')->with('TheTargetType', 'thePropertyName')->will($this->returnValue(['\\TheTypeOfSubObject'])); $configuration = new PropertyMappingConfiguration(); $configuration->setTypeConverterOptions(ObjectConverter::class, []); $this->assertEquals('TheTypeOfSubObject', $this->converter->getTypeOfChildProperty('TheTargetType', 'thePropertyName', $configuration)); }
/** * @test */ public function getTypeOfChildPropertyReturnsCorrectTypeIfThatPropertyIsPubliclyPresent() { $configuration = new PropertyMappingConfiguration(); $actual = $this->converter->getTypeOfChildProperty(Fixtures\TestClass::class, 'somePublicProperty', $configuration); $this->assertEquals('float', $actual); }