public function testAddRouteMultipleMethodRequest()
 {
     $app = new Application();
     $app->addRoute(['GET', 'POST'], '/', function () {
         return response('Hello World');
     });
     $response = $app->handle(Request::create('/', 'GET'));
     $this->assertEquals(200, $response->getStatusCode());
     $this->assertEquals('Hello World', $response->getContent());
     $response = $app->handle(Request::create('/', 'POST'));
     $this->assertEquals(200, $response->getStatusCode());
     $this->assertEquals('Hello World', $response->getContent());
 }
 /**
  * Add a route to the collection.
  *
  * @param string $method
  * @param string $uri
  * @param mixed $action
  * @static 
  */
 public static function addRoute($method, $uri, $action)
 {
     return \Laravel\Lumen\Application::addRoute($method, $uri, $action);
 }
 /**
  * @param \Laravel\Lumen\Application $app
  */
 private function _buildRouteRules(Application $app)
 {
     foreach ($this->_rules as $class => $regexpUri) {
         $isPublicClass = $class['0'] == '@';
         $class = $this->_baseNamespace ? sprintf('%s.%s', $this->_baseNamespace, $class) : $class;
         $class = str_replace(['.', '@'], ['\\', ''], $class);
         $action = sprintf('%s@handle', $class);
         $uris = $this->_parseUri($regexpUri);
         foreach (static::$accessableMethods as $method) {
             foreach ($uris as $uri) {
                 if ($isPublicClass && $this->_useAuth) {
                     Middleware\AuthMiddleware::addPublicResource($class);
                 }
                 $app->addRoute($method, $uri, $action);
             }
         }
     }
 }