/** * @param mixed $style */ public function __construct($style) { $this->style = $style; $this->input = $style->getInput(); $this->output = $style->getOutput(); $this->inspect = Inspect::thisInstance($style); }
public function testInitializeMethods() { $className = 'SR\\Doctrine\\ORM\\Mapping\\Tests\\Fixture\\IdEntity'; $instance = new $className(false); $this->assertNull($instance->getAString()); $this->assertNull($instance->getAnInt()); $this->assertNull($instance->getAnArray()); $instance->__construct(true); $this->assertNotNull($instance->getAString()); $this->assertSame('aString', $instance->getAString()); $this->assertNotNull($instance->getAnInt()); $this->assertNotNull($instance->getAnArray()); $aStringProperty = Inspect::thisInstance($instance)->matchOneProperty('aString', 'nameUnQualified'); $aStringProperty->setValue($instance, 'aStringValueSetViaReflection'); $instance->__construct(); $this->assertSame('aStringValueSetViaReflection', $instance->getAString()); }
/** * @param Entity $compareTo * * @return bool */ public final function isEqualTo(Entity $compareTo) { $propertiesSelfNorm = []; $propertiesCompNorm = []; $propertiesSelf = Inspect::thisInstance($this)->properties(); $propertiesComp = Inspect::thisInstance($compareTo)->properties(); $visitor = function (array $properties, array &$normalized, $bind) { foreach ($properties as $property) { $normalized[$property->name()] = $property->value($bind); } }; $visitor($propertiesSelf, $propertiesSelfNorm, $this); $visitor($propertiesComp, $propertiesCompNorm, $compareTo); ksort($propertiesSelfNorm); ksort($propertiesCompNorm); return $propertiesSelfNorm === $propertiesCompNorm; }
/** * @param string $search * @param null|Entity $entity * * @return null|PropertyIntrospection */ protected final function findProperty($search, Entity $entity = null) { $_ = function (PropertyIntrospection $p, $index) use($search) { return $p->nameUnQualified() === $search; }; return Inspect::thisInstance($entity ?: $this)->filterOneProperty($_, null); }
public function testFindPropertySet() { $class = 'SR\\Doctrine\\ORM\\Mapping\\Tests\\Fixture\\EntityA'; $instance = new $class(); $findPropertySetMethod = Inspect::thisInstance($instance)->getMethod('findPropertySet'); $properties = $findPropertySetMethod->invoke($instance, '{^property}', true); $this->assertCount(3, $properties); }
/** * @param \PHPUnit_Framework_MockObject_MockObject $entity * @param string $initializeMethod */ private function initializerCall(\PHPUnit_Framework_MockObject_MockObject $entity, $initializeMethod) { $inspector = Inspect::thisInstance($entity); try { $method = $inspector->getMethod($initializeMethod); } catch (InvalidArgumentException $e) { $initializeMethod = $initializeMethod; $method = $inspector->getMethod($initializeMethod); } $method->invoke($entity); }