public function testConstruct() {
$request = new Request(array(
'host' => 'localhost',
'port' => 443,
'headers' => array('Header' => 'Value'),
'body' => array('Part 1'),
'params' => array('param' => 'value')
));
$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('param' => 'value');
$result = $request->params;
$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);
}