protected function assertExceptionWhenWrongSource(FullClassPathSource $source) { $this->setExpectedException(UnableToBuild::class); $plan = new NewInstanceBuildPlan(); $plan->setClassSource($source); $this->getRebuiltObjectBy($plan); }
public function testExceptionIfWrongValueSource() { $this->setExpectedException(UnableToBuild::class); $otherPlan = new NewInstanceBuildPlan(); $otherPlan->setClassSource(new ExactClassPath("no_class_like_that")); $builPlanSource = new BuildPlanResultValue($otherPlan); $this->getRebuiltResultOf($builPlanSource); }
public function mapToObject(array $previouslyMappedObject) { $classSource = $this->classSourceMapper->mapToObject($previouslyMappedObject[0]); $plan = new NewInstanceBuildPlan(); $plan->setClassSource($classSource); foreach ($previouslyMappedObject[1] as $callAsArray) { $methodCall = $this->methodCallMapper->mapToObject($callAsArray); $plan->addMethodCall($methodCall); } return $plan; }
public function testAddingExtension() { $valueSource = new NewValueSource(); $extension = $this->getExtension($valueSource, "abc"); $builder = $this->buildExtendedBuilder($extension); $plan = new NewInstanceBuildPlan(); $plan->setClassSource(new ExactClassPath(TestClass::class)); $plan->addMethodCall((new MethodCall(ConstructorSelector::getInstance()))->assignParamValue(new AssignedParamValue(new ParamByPosition(0), $valueSource))); $serializedPlan = $builder->serializeBuildPlan($plan); $deserializedPlan = $builder->deserializeBuildPlan($serializedPlan); /* @var $rebuiltObject TestClass */ $rebuiltObject = $builder->buildObjectBasedOn($deserializedPlan); $this->assertEquals("abc", $rebuiltObject->passedToConstructor); }