public function testGeneratingActionRoutes()
 {
     $this->routes->push($v1 = new ApiRouteCollection('v1'));
     $this->routes->push($v2 = new ApiRouteCollection('v2'));
     $v1->add(new ApiRoute(['GET'], '/api', ['controller' => 'FooController@foo']));
     $v2->add(new ApiRoute(['GET'], '/api/foo', ['controller' => 'FooController@foo']));
     $v2->add(new ApiRoute(['GET'], '/api/bar', ['controller' => 'FooController@bar']));
     $this->assertEquals('http://www.foo.com/api', $this->url->action('FooController@foo'));
     $this->assertEquals('http://www.foo.com/api/bar', $this->url->action('FooController@bar'));
 }
 /**
  * @param RouteCollection $collection
  * @return array
  */
 private function rows(RouteCollection $collection)
 {
     $rows = [];
     $routes = self::alphabetically($collection->getRoutes());
     /** @var Route $route */
     foreach ($routes as $route) {
         array_push($rows, ['method' => implode(' | ', $route->getMethods()), 'uri' => $route->uri(), 'name' => $route->getName(), 'action' => $route->getActionName(), 'middleware' => implode(' | ', $route->getMiddleware())]);
     }
     return $rows;
 }