public function testShouldExecutePayloadCallbackWithArguments() { $actualArguments = []; $payloadCallback = function (Control $control, Context $context, Daemon $daemon) use(&$actualArguments) { $actualArguments = func_get_args(); }; $daemon = new Daemon($payloadCallback); $control = new Control(); $context = new Context(); $expectedArguments = [$control, $context, $daemon]; $daemon->execute($control, $context); $this->assertSame($expectedArguments, $actualArguments); }