@@ 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 |