Code Duplication    Length = 16-18 lines in 3 locations

tests/ResolveCrossContainerReferencesPassTest.php 3 locations

@@ 36-51 (lines=16) @@
33
    /**
34
     * @test
35
     */
36
    public function it_resolves_cross_container_references_in_service_argument_array()
37
    {
38
        $externalContainer = new ContainerBuilder();
39
        $externalContainer->setDefinition('std_class', new Definition(\stdClass::class));
40
41
        $baseContainer = new ContainerBuilder();
42
        $baseContainer->setDefinition('array_object', new Definition(\ArrayObject::class, [
43
            ['std_class' => new Reference('__external__.std_class')],
44
        ]));
45
46
        $this->buildContainerWithDependencies($baseContainer, ['external' => $externalContainer]);
47
48
        static::assertTrue($baseContainer->has('array_object'));
49
        static::assertInstanceOf(\ArrayObject::class, $baseContainer->get('array_object'));
50
        static::assertInstanceOf(\stdClass::class, $baseContainer->get('array_object')['std_class']);
51
    }
52
53
    /**
54
     * @test
@@ 56-71 (lines=16) @@
53
    /**
54
     * @test
55
     */
56
    public function it_resolves_cross_container_references_in_service_argument_nested_array()
57
    {
58
        $externalContainer = new ContainerBuilder();
59
        $externalContainer->setDefinition('std_class', new Definition(\stdClass::class));
60
61
        $baseContainer = new ContainerBuilder();
62
        $baseContainer->setDefinition('array_object', new Definition(\ArrayObject::class, [
63
            ['std' => ['class' => new Reference('__external__.std_class')]],
64
        ]));
65
66
        $this->buildContainerWithDependencies($baseContainer, ['external' => $externalContainer]);
67
68
        static::assertTrue($baseContainer->has('array_object'));
69
        static::assertInstanceOf(\ArrayObject::class, $baseContainer->get('array_object'));
70
        static::assertInstanceOf(\stdClass::class, $baseContainer->get('array_object')['std']['class']);
71
    }
72
73
    /**
74
     * @test
@@ 76-93 (lines=18) @@
73
    /**
74
     * @test
75
     */
76
    public function it_resolves_cross_container_references_in_service_argument_anonymous_definition()
77
    {
78
        $externalContainer = new ContainerBuilder();
79
        $externalContainer->setDefinition('std_class', new Definition(\stdClass::class));
80
81
        $baseContainer = new ContainerBuilder();
82
        $baseContainer->setDefinition('array_object', new Definition(\ArrayObject::class, [
83
            new Definition(\ArrayObject::class, [
84
                ['std_class' => new Reference('__external__.std_class')],
85
            ]),
86
        ]));
87
88
        $this->buildContainerWithDependencies($baseContainer, ['external' => $externalContainer]);
89
90
        static::assertTrue($baseContainer->has('array_object'));
91
        static::assertInstanceOf(\ArrayObject::class, $baseContainer->get('array_object'));
92
        static::assertInstanceOf(\stdClass::class, $baseContainer->get('array_object')->getArrayCopy()['std_class']);
93
    }
94
95
    /**
96
     * @test