ResettableService::
$counter = 0;
ClearableService::
$counter = 0;
MultiResettableService::
$resetFirstCounter = 0;
MultiResettableService::
$resetSecondCounter = 0;
} public function testResetServices() { $resetter =
new ServicesResetter(new \
ArrayIterator([ 'id1' =>
new ResettableService(),
'id2' =>
new ClearableService(),
'id3' =>
new MultiResettableService(),
]),
[ 'id1' =>
['reset'
],
'id2' =>
['clear'
],
'id3' =>
['resetFirst', 'resetSecond'
],
]);
$resetter->
reset();
$this->
assertSame(1, ResettableService::
$counter);
$this->
assertSame(1, ClearableService::
$counter);
$this->
assertSame(1, MultiResettableService::
$resetFirstCounter);