Code Duplication    Length = 30-30 lines in 2 locations

src/Test/AbstractBindingTest.php 2 locations

@@ 117-146 (lines=30) @@
114
        $this->assertSame('value', $binding->getParameterValue('param1', false));
115
    }
116
117
    public function testInitializeWithParameterDefaults()
118
    {
119
        $binding = $this->createBinding(Foo::clazz, array(
120
            'param2' => 'value',
121
        ));
122
123
        $type = new BindingType(Foo::clazz, get_class($binding), array(
124
            new BindingParameter('param1', BindingParameter::OPTIONAL, 'default'),
125
            new BindingParameter('param2'),
126
        ));
127
128
        $this->assertSame(array('param2' => 'value'), $binding->getParameterValues());
129
        $this->assertFalse($binding->hasParameterValue('param1'));
130
        $this->assertTrue($binding->hasParameterValue('param2'));
131
        $this->assertSame('value', $binding->getParameterValue('param2'));
132
133
        $binding->initialize($type);
134
135
        $this->assertSame(array('param1' => 'default', 'param2' => 'value'), $binding->getParameterValues());
136
        $this->assertTrue($binding->hasParameterValue('param1'));
137
        $this->assertTrue($binding->hasParameterValue('param2'));
138
        $this->assertSame('default', $binding->getParameterValue('param1'));
139
        $this->assertSame('value', $binding->getParameterValue('param2'));
140
141
        // exclude default values
142
        $this->assertSame(array('param2' => 'value'), $binding->getParameterValues(false));
143
        $this->assertFalse($binding->hasParameterValue('param1', false));
144
        $this->assertTrue($binding->hasParameterValue('param2', false));
145
        $this->assertSame('value', $binding->getParameterValue('param2', false));
146
    }
147
148
    public function testInitializeWithRequiredParameters()
149
    {
@@ 148-177 (lines=30) @@
145
        $this->assertSame('value', $binding->getParameterValue('param2', false));
146
    }
147
148
    public function testInitializeWithRequiredParameters()
149
    {
150
        $binding = $this->createBinding(Foo::clazz, array(
151
            'param2' => 'value',
152
        ));
153
154
        $type = new BindingType(Foo::clazz, get_class($binding), array(
155
            new BindingParameter('param1', BindingParameter::OPTIONAL, 'default'),
156
            new BindingParameter('param2', BindingParameter::REQUIRED),
157
        ));
158
159
        $this->assertSame(array('param2' => 'value'), $binding->getParameterValues());
160
        $this->assertFalse($binding->hasParameterValue('param1'));
161
        $this->assertTrue($binding->hasParameterValue('param2'));
162
        $this->assertSame('value', $binding->getParameterValue('param2'));
163
164
        $binding->initialize($type);
165
166
        $this->assertSame(array('param1' => 'default', 'param2' => 'value'), $binding->getParameterValues());
167
        $this->assertTrue($binding->hasParameterValue('param1'));
168
        $this->assertTrue($binding->hasParameterValue('param2'));
169
        $this->assertSame('default', $binding->getParameterValue('param1'));
170
        $this->assertSame('value', $binding->getParameterValue('param2'));
171
172
        // exclude default values
173
        $this->assertSame(array('param2' => 'value'), $binding->getParameterValues(false));
174
        $this->assertFalse($binding->hasParameterValue('param1', false));
175
        $this->assertTrue($binding->hasParameterValue('param2', false));
176
        $this->assertSame('value', $binding->getParameterValue('param2', false));
177
    }
178
179
    /**
180
     * @expectedException \Puli\Discovery\Api\Type\MissingParameterException