@@ -314,60 +314,69 @@ public function testMultipleAliasesForADelegatedInvokableServiceReceiveSameInsta
314
314
self ::assertSame ($ instance , $ container ->get (TestAsset \Service::class));
315
315
}
316
316
317
- public function testNonInvokableDelegatorClassNameResultsInExceptionDuringInstanceRetrieval ()
318
- {
319
- $ container = $ this ->createContainer ([
320
- 'invokables ' => [
321
- TestAsset \Service::class => TestAsset \Service::class,
322
- ],
317
+ /**
318
+ * @dataProvider delegatorService
319
+ */
320
+ public function testNonInvokableDelegatorClassNameResultsInExceptionDuringInstanceRetrieval (
321
+ array $ config ,
322
+ string $ serviceNameToTest ,
323
+ string $ delegatedServiceName
324
+ ) : void {
325
+ $ container = $ this ->createContainer ($ config + [
323
326
'delegators ' => [
324
- TestAsset \Service::class => [
327
+ $ delegatedServiceName => [
325
328
TestAsset \NonInvokableFactory::class,
326
329
],
327
330
],
328
331
]);
329
332
330
- self ::assertTrue ($ container ->has (TestAsset \Service::class ));
333
+ self ::assertTrue ($ container ->has ($ serviceNameToTest ));
331
334
$ this ->expectException (ContainerExceptionInterface::class);
332
- $ container ->get (TestAsset \Service::class );
335
+ $ container ->get ($ serviceNameToTest );
333
336
}
334
337
335
- public function testNonExistentDelegatorClassResultsInExceptionDuringInstanceRetrieval ()
336
- {
337
- $ container = $ this ->createContainer ([
338
- 'invokables ' => [
339
- TestAsset \Service::class => TestAsset \Service::class,
340
- ],
338
+ /**
339
+ * @dataProvider delegatorService
340
+ */
341
+ public function testNonExistentDelegatorClassResultsInExceptionDuringInstanceRetrieval (
342
+ array $ config ,
343
+ string $ serviceNameToTest ,
344
+ string $ delegatedServiceName
345
+ ) : void {
346
+ $ container = $ this ->createContainer ($ config + [
341
347
'delegators ' => [
342
- TestAsset \Service::class => [
348
+ $ delegatedServiceName => [
343
349
TestAsset \NonExistentDelegatorFactory::class,
344
350
],
345
351
],
346
352
]);
347
353
348
- self ::assertTrue ($ container ->has (TestAsset \Service::class ));
354
+ self ::assertTrue ($ container ->has ($ serviceNameToTest ));
349
355
$ this ->expectException (ContainerExceptionInterface::class);
350
- $ container ->get (TestAsset \Service::class );
356
+ $ container ->get ($ serviceNameToTest );
351
357
}
352
358
353
- public function testDelegatorClassNameRequiringConstructorArgumentsResultsInExceptionDuringInstanceRetrieval ()
354
- {
355
- $ container = $ this ->createContainer ([
356
- 'invokables ' => [
357
- TestAsset \Service::class => TestAsset \Service::class,
358
- ],
359
+ /**
360
+ * @dataProvider delegatorService
361
+ */
362
+ public function testDelegatorClassNameRequiringConstructorArgumentsResultsInExceptionDuringInstanceRetrieval (
363
+ array $ config ,
364
+ string $ serviceNameToTest ,
365
+ string $ delegatedServiceName
366
+ ) : void {
367
+ $ container = $ this ->createContainer ($ config + [
359
368
'delegators ' => [
360
- TestAsset \Service::class => [
369
+ $ delegatedServiceName => [
361
370
TestAsset \FactoryWithRequiredParameters::class,
362
371
],
363
372
],
364
373
]);
365
374
366
- self ::assertTrue ($ container ->has (TestAsset \Service::class ));
375
+ self ::assertTrue ($ container ->has ($ serviceNameToTest ));
367
376
368
377
Assert::expectedExceptions (
369
- function () use ($ container ) {
370
- $ container ->get (TestAsset \Service::class );
378
+ function () use ($ container, $ serviceNameToTest ) {
379
+ $ container ->get ($ serviceNameToTest );
371
380
},
372
381
[ArgumentCountError::class, ContainerExceptionInterface::class]
373
382
);
0 commit comments