public function testConstruct()
{
$request = new Request(array('host' => 'localhost', 'port' => 443, 'headers' => array('Header' => 'Value'), 'body' => array('Part 1')));
$expected = 'localhost';
$result = $request->host;
$this->assertEqual($expected, $result);
$expected = 443;
$result = $request->port;
$this->assertEqual($expected, $result);
$expected = 'GET';
$result = $request->method;
$this->assertEqual($expected, $result);
$expected = 'HTTP/1.1';
$result = $request->protocol;
$this->assertEqual($expected, $result);
$expected = '1.1';
$result = $request->version;
$this->assertEqual($expected, $result);
$expected = '/';
$result = $request->path;
$this->assertEqual($expected, $result);
$expected = array('Host: localhost:443', 'Connection: Close', 'User-Agent: Mozilla/5.0', 'Header: Value');
$result = $request->headers();
$this->assertEqual($expected, $result);
$expected = array();
$result = $request->cookies;
$this->assertEqual($expected, $result);
$expected = 'Part 1';
$result = $request->body();
$this->assertEqual($expected, $result);
}