/**
* @test
*/
public function testAddRoute()
{
$path = '/api/v:apiversion/users/:id';
$requirements = ['id' => '[\\d]+'];
$route = $this->app->addRoute($path, function ($id) {
/* do nothing */
}, $requirements);
$this->assertInstanceOf(self::getApiClass('Routing\\Route'), $route);
$this->assertEquals($path, $route->getPath());
$this->assertEquals([], $route->getMethods());
$this->assertEquals($requirements, $route->getRequirements());
$this->assertNull($route->getParams());
$apiVersion = 12;
$id = 3;
$this->assertTrue($route->matches('/api/v' . $apiVersion . '/users/' . $id));
$this->app->handleApiVersion($route);
$params = $route->getParams();
$this->assertTrue(isset($params['id']));
$this->assertEquals($id, $params['id']);
$this->assertEquals($apiVersion, $this->app->settings[Application::SETTING_API_VERSION]);
}