/**
  * @param Request              $request
  * @param \ReflectionParameter $parameter
  *
  * @return mixed
  */
 public function getParameterValue(Request $request, \ReflectionParameter $parameter)
 {
     if ($request->hasArgument($name = $parameter->name)) {
         return $request->getArgument($name);
     }
     if ($request->hasArgument($name = $this->getCamelCaseName($parameter->name))) {
         return $request->getArgument($name);
     }
     return $request->getArgument($this->getSneakCaseName($name));
 }
 public function testGetArgument()
 {
     $request = new Request('', '', ['foo' => 'bar', 'baz' => 'qux']);
     $this->assertEquals('bar', $request->getArgument('foo'));
     $this->assertEquals('def', $request->getArgument('bar', 'def'));
 }