spec\Prophecy\Doubler\ClassPatch\DisableConstructorPatchSpec::it_makes_all_constructor_arguments_optional PHP Метод

it_makes_all_constructor_arguments_optional() публичный Метод

public it_makes_all_constructor_arguments_optional ( Prophecy\Doubler\Generator\Node\ClassNode $class, Prophecy\Doubler\Generator\Node\MethodNode $method, Prophecy\Doubler\Generator\Node\ArgumentNode $arg1, Prophecy\Doubler\Generator\Node\ArgumentNode $arg2 )
$class Prophecy\Doubler\Generator\Node\ClassNode
$method Prophecy\Doubler\Generator\Node\MethodNode
$arg1 Prophecy\Doubler\Generator\Node\ArgumentNode
$arg2 Prophecy\Doubler\Generator\Node\ArgumentNode
    function it_makes_all_constructor_arguments_optional(ClassNode $class, MethodNode $method, ArgumentNode $arg1, ArgumentNode $arg2)
    {
        $class->hasMethod('__construct')->willReturn(true);
        $class->getMethod('__construct')->willReturn($method);
        $method->getArguments()->willReturn(array($arg1, $arg2));
        $arg1->setDefault(null)->shouldBeCalled();
        $arg2->setDefault(null)->shouldBeCalled();
        $method->setCode(Argument::type('string'))->shouldBeCalled();
        $this->apply($class);
    }