public function testGetRunner() { $this->given($this->getMockGenerator()->orphanize('__construct'))->given($mockRunner = new mockRunner())->given($mockLogger = new mockLogger())->given($mockRunner->setLogger($mockLogger))->given($mockContainer = new mockContainer())->given($this->calling($mockContainer)->get = function ($service) use($mockRunner, $mockLogger) { switch ($service) { case 'atipik_hoa_web_socket.logger': return $mockLogger; case 'atipik_hoa_web_socket.runner': return $mockRunner; } })->given($mockInput = new mockInput())->given($mockOutput = new mockOutput())->given($command = new TestedClass())->given($command->setContainer($mockContainer))->object($runner = $command->getRunner($mockInput, $mockOutput))->isIdenticalTo($mockRunner)->object($runner->getLogger()->getOutput())->isIdenticalTo($mockOutput)->array($runner->getGroups())->isEmpty()->given($this->calling($mockInput)->getOption = $groups = array('foo', 'bar'))->object($runner = $command->getRunner($mockInput, $mockOutput))->isIdenticalTo($mockRunner)->array($runner->getGroups())->isEqualTo($groups); }