Nelmio\Alice\Definition\MethodCall\MethodCallWithReferenceTest::testIsMutable PHP Method

testIsMutable() public method

public testIsMutable ( )
    public function testIsMutable()
    {
        $caller = new MutableReference();
        $method = 'setUsername';
        $arguments = [$arg0 = new \stdClass()];
        $definition = new MethodCallWithReference($caller, $method, $arguments);
        // Mutate injected elements
        $caller->setId('user.factory');
        $arg0->foo = 'bar';
        // Mutate retrieved elements
        /** @var MutableReference $caller */
        $caller = $definition->getCaller();
        $caller->setId('user.factory');
        $arguments = $definition->getArguments();
        $arguments[0]->foz = 'baz';
        $this->assertEquals(new MutableReference(), $definition->getCaller());
        $this->assertEquals([StdClassFactory::create(['foo' => 'bar', 'foz' => 'baz'])], $definition->getArguments());
    }