public function testHttpRequestMethod()
{
$request = $this->getRequestObject();
$_SERVER['REQUEST_METHOD'] = 'POST';
$this->assertEquals($request->getMethod(), 'POST');
$this->assertTrue($request->isPost());
$this->assertFalse($request->isGet());
$_SERVER['REQUEST_METHOD'] = 'GET';
$this->assertEquals($request->getMethod(), 'GET');
$this->assertTrue($request->isGet());
$this->assertFalse($request->isPost());
$_SERVER['REQUEST_METHOD'] = 'PUT';
$this->assertEquals($request->getMethod(), 'PUT');
$this->assertTrue($request->isPut());
$_SERVER['REQUEST_METHOD'] = 'DELETE';
$this->assertEquals($request->getMethod(), 'DELETE');
$this->assertTrue($request->isDelete());
$_SERVER['REQUEST_METHOD'] = 'OPTIONS';
$this->assertEquals($request->getMethod(), 'OPTIONS');
$this->assertTrue($request->isOptions());
$_SERVER['REQUEST_METHOD'] = 'POST';
$this->assertTrue($request->isMethod('POST'));
$this->assertTrue($request->isMethod(['GET', 'POST']));
$_SERVER['REQUEST_METHOD'] = 'GET';
$this->assertTrue($request->isMethod('GET'));
$this->assertTrue($request->isMethod(['GET', 'POST']));
$_SERVER['REQUEST_METHOD'] = 'CONNECT';
$this->assertEquals($request->getMethod(), 'CONNECT');
$this->assertTrue($request->isConnect());
$this->assertFalse($request->isGet());
$_SERVER['REQUEST_METHOD'] = 'TRACE';
$this->assertEquals($request->getMethod(), 'TRACE');
$this->assertTrue($request->isTrace());
$this->assertFalse($request->isGet());
$_SERVER['REQUEST_METHOD'] = 'PURGE';
$this->assertEquals($request->getMethod(), 'PURGE');
$this->assertTrue($request->isPurge());
$this->assertFalse($request->isGet());
}