public function setMethods()
{
$route = $this->getRouteFixture();
$this->assertContains(Request::METHOD_GET, $route->getMethods());
$route->setMethods([Request::METHOD_POST]);
$this->assertTrue($route->hasMethod(Request::METHOD_POST));
$this->assertFalse($route->hasMethod(Request::METHOD_GET));
$route->addMethod(Request::METHOD_HEAD);
$this->assertTrue($route->hasMethod(Request::METHOD_HEAD));
$this->assertTrue($route->hasMethod(Request::METHOD_POST));
//Invalid method
try {
$route->addMethod('invalid-method');
$this->assertTrue(false, 'InvalidArgumentException must be thrown here.');
} catch (\InvalidArgumentException $e) {
$this->assertTrue(true);
}
}