public function testMatchingWithTheRouterByUsingHttpMethods()
{
$this->specify('Router does not matched correctly by using http method', function ($method, $uri, $controller, $action, $params) {
$router = $this->getRouter();
$router->add('/docs/index', ['controller' => 'documentation2222', 'action' => 'index']);
$router->addPost('/docs/index', ['controller' => 'documentation3', 'action' => 'index']);
$router->addGet('/docs/index', ['controller' => 'documentation4', 'action' => 'index']);
$router->addPut('/docs/index', ['controller' => 'documentation5', 'action' => 'index']);
$router->addDelete('/docs/index', ['controller' => 'documentation6', 'action' => 'index']);
$router->addOptions('/docs/index', ['controller' => 'documentation7', 'action' => 'index']);
$router->addHead('/docs/index', ['controller' => 'documentation8', 'action' => 'index']);
$router->addPurge('/docs/index', ['controller' => 'documentation9', 'action' => 'index']);
$router->addTrace('/docs/index', ['controller' => 'documentation10', 'action' => 'index']);
$router->addConnect('/docs/index', ['controller' => 'documentation11', 'action' => 'index']);
$_SERVER['REQUEST_METHOD'] = $method;
$router->handle($uri);
expect($router->getControllerName())->equals($controller);
expect($router->getActionName())->equals($action);
expect($router->getParams())->equals($params);
}, ['examples' => $this->methodProvider()]);
}