/**
* test building columns with SQLite
*
* @return void
*/
public function testBuildColumn()
{
$data = array('name' => 'int_field', 'type' => 'integer', 'null' => false);
$result = $this->Dbo->buildColumn($data);
$expected = '"int_field" integer NOT NULL';
$this->assertEquals($expected, $result);
$data = array('name' => 'name', 'type' => 'string', 'length' => 20, 'null' => false);
$result = $this->Dbo->buildColumn($data);
$expected = '"name" varchar(20) NOT NULL';
$this->assertEquals($expected, $result);
$data = array('name' => 'testName', 'type' => 'string', 'length' => 20, 'default' => null, 'null' => true, 'collate' => 'NOCASE');
$result = $this->Dbo->buildColumn($data);
$expected = '"testName" varchar(20) DEFAULT NULL COLLATE NOCASE';
$this->assertEquals($expected, $result);
$data = array('name' => 'testName', 'type' => 'string', 'length' => 20, 'default' => 'test-value', 'null' => false);
$result = $this->Dbo->buildColumn($data);
$expected = '"testName" varchar(20) DEFAULT \'test-value\' NOT NULL';
$this->assertEquals($expected, $result);
$data = array('name' => 'testName', 'type' => 'integer', 'length' => 10, 'default' => 10, 'null' => false);
$result = $this->Dbo->buildColumn($data);
$expected = '"testName" integer(10) DEFAULT 10 NOT NULL';
$this->assertEquals($expected, $result);
$data = array('name' => 'testName', 'type' => 'integer', 'length' => 10, 'default' => 10, 'null' => false, 'collate' => 'BADVALUE');
$result = $this->Dbo->buildColumn($data);
$expected = '"testName" integer(10) DEFAULT 10 NOT NULL';
$this->assertEquals($expected, $result);
$data = array('name' => 'huge', 'type' => 'biginteger', 'length' => 20, 'null' => false);
$result = $this->Dbo->buildColumn($data);
$expected = '"huge" bigint(20) NOT NULL';
$this->assertEquals($expected, $result);
$data = array('name' => 'id', 'type' => 'biginteger', 'length' => 20, 'null' => false, 'key' => 'primary');
$result = $this->Dbo->buildColumn($data);
$expected = '"id" bigint(20) NOT NULL PRIMARY KEY';
$this->assertEquals($expected, $result);
}