diff --git a/tests/DataDict/FirebirdTestCase.php b/tests/DataDict/FirebirdTestCase.php index 4eda96ff3..8db0e9d0f 100644 --- a/tests/DataDict/FirebirdTestCase.php +++ b/tests/DataDict/FirebirdTestCase.php @@ -1,13 +1,130 @@ . + */ + +/** + * Doctrine_Access_TestCase + * + * @package Doctrine + * @author Konsta Vesterinen + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @category Object Relational Mapping + * @link www.phpdoctrine.com + * @since 1.0 + * @version $Revision$ + */ +class Doctrine_DataDict_Firebird_TestCase extends Doctrine_UnitTestCase { + public function testGetCharsetFieldDeclarationReturnsValidSql() { + $this->assertEqual($this->dataDict->getCharsetFieldDeclaration('UTF-8'), 'CHARACTER SET UTF-8'); + } + public function testGetCollationFieldDeclarationReturnsValidSql() { + $this->assertEqual($this->dataDict->getCollationFieldDeclaration('xx'), 'COLLATE xx'); + } + public function testGetPortableTypeForUnknownDbTypeThrowsException() { + try { + $this->dataDict->getPortableDeclaration(array('type' => 'unknown')); + $this->fail(); + } catch(Doctrine_DataDict_Firebird_Exception $e) { + $this->pass(); + } + } + public function testGetPortableTypeSupportsNativeDateType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'date')); + + $this->assertEqual($type, array(array('date'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeTimestampType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'timestamp')); + + $this->assertEqual($type, array(array('timestamp'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeTimeType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'time')); + + $this->assertEqual($type, array(array('time'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeFloatType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'float')); + + $this->assertEqual($type, array(array('float'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeDoubleType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'double')); + + $this->assertEqual($type, array(array('float'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeDoublePrecisionType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'double precision')); + + $this->assertEqual($type, array(array('float'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeDfloatType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'd_float')); + + $this->assertEqual($type, array(array('float'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeDecimalType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'decimal')); + + $this->assertEqual($type, array(array('decimal'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeNumericType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'numeric')); + + $this->assertEqual($type, array(array('decimal'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeBlobType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'blob')); + + $this->assertEqual($type, array(array('blob'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeVarcharType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'varchar')); + + $this->assertEqual($type, array(array('string'), null, null, false)); + } + public function testGetPortableTypeSupportsNativeCharType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'char')); + + $this->assertEqual($type, array(array('string'), null, null, true)); + } + public function testGetPortableTypeSupportsNativeCstringType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'cstring')); + + $this->assertEqual($type, array(array('string'), null, null, true)); + } + public function testGetPortableTypeSupportsNativeBigintType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'bigint')); + + $this->assertEqual($type, array(array('integer'), null, null, null)); + } + public function testGetPortableTypeSupportsNativeQuadType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'quad')); + + $this->assertEqual($type, array(array('integer'), null, null, null)); } public function testGetNativeDefinitionSupportsIntegerType() { $a = array('type' => 'integer', 'length' => 20, 'fixed' => false); $this->assertEqual($this->dataDict->getNativeDeclaration($a), 'INT'); - + $a['length'] = 4; $this->assertEqual($this->dataDict->getNativeDeclaration($a), 'INT');