/**
  * @test
  */
 public function createRoutesFromConfigurationParsesTheGivenConfigurationAndBuildsRouteObjectsFromIt()
 {
     $routesConfiguration = array();
     $routesConfiguration['route1']['uriPattern'] = 'number1';
     $routesConfiguration['route2']['uriPattern'] = 'number2';
     $routesConfiguration['route3'] = array('name' => 'route3', 'defaults' => array('foodefault'), 'routeParts' => array('fooroutepart'), 'uriPattern' => 'number3', 'toLowerCase' => false, 'appendExceedingArguments' => true, 'httpMethods' => array('POST', 'PUT'));
     $this->router->setRoutesConfiguration($routesConfiguration);
     $this->router->_call('createRoutesFromConfiguration');
     $createdRoutes = $this->router->_get('routes');
     $this->assertEquals('number1', $createdRoutes[0]->getUriPattern());
     $this->assertTrue($createdRoutes[0]->isLowerCase());
     $this->assertFalse($createdRoutes[0]->getAppendExceedingArguments());
     $this->assertEquals('number2', $createdRoutes[1]->getUriPattern());
     $this->assertFalse($createdRoutes[1]->hasHttpMethodConstraints());
     $this->assertEquals(array(), $createdRoutes[1]->getHttpMethods());
     $this->assertEquals('route3', $createdRoutes[2]->getName());
     $this->assertEquals(array('foodefault'), $createdRoutes[2]->getDefaults());
     $this->assertEquals(array('fooroutepart'), $createdRoutes[2]->getRoutePartsConfiguration());
     $this->assertEquals('number3', $createdRoutes[2]->getUriPattern());
     $this->assertFalse($createdRoutes[2]->isLowerCase());
     $this->assertTrue($createdRoutes[2]->getAppendExceedingArguments());
     $this->assertTrue($createdRoutes[2]->hasHttpMethodConstraints());
     $this->assertEquals(array('POST', 'PUT'), $createdRoutes[2]->getHttpMethods());
 }