diff --git a/tests/DataDict/OracleTestCase.php b/tests/DataDict/OracleTestCase.php index c3019f1f3..bee55b3e7 100644 --- a/tests/DataDict/OracleTestCase.php +++ b/tests/DataDict/OracleTestCase.php @@ -1,6 +1,132 @@ . + */ +/** + * Doctrine_DataDict_Mysql_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_Oracle_TestCase extends Doctrine_UnitTestCase { + public function testGetPortableDeclarationForUnknownNativeTypeThrowsException() { + try { + $this->dataDict->getPortableDeclaration(array('type' => 'some_unknown_type')); + $this->fail(); + } catch(Doctrine_DataDict_Oracle_Exception $e) { + $this->pass(); + } + } + public function testGetPortableDeclarationSupportsNativeFloatType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'float')); + + $this->assertEqual($type, array(array('float'), null, null, null)); + } + public function testGetPortableDeclarationSupportsNativeIntegerTypes() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'integer')); + + $this->assertEqual($type, array(array('integer'), null, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'pls_integer', 'length' => 1)); + + $this->assertEqual($type, array(array('integer', 'boolean'), 1, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'binary_integer', 'length' => 1)); + + $this->assertEqual($type, array(array('integer', 'boolean'), 1, null, null)); + } + public function testGetPortableDeclarationSupportsNativeStringTypes() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'varchar')); + + $this->assertEqual($type, array(array('string'), null, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'varchar2', 'length' => 1)); + + $this->assertEqual($type, array(array('string', 'boolean'), 1, null, false)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'nvarchar2', 'length' => 1)); + + $this->assertEqual($type, array(array('string', 'boolean'), 1, null, false)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'char', 'length' => 1)); + + $this->assertEqual($type, array(array('string', 'boolean'), 1, null, true)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'nchar', 'length' => 1)); + + $this->assertEqual($type, array(array('string', 'boolean'), 1, null, true)); + } + public function testGetPortableDeclarationSupportsNativeNumberType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'number')); + + $this->assertEqual($type, array(array('integer'), null, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'number', 'length' => 1)); + + $this->assertEqual($type, array(array('integer', 'boolean'), 1, null, null)); + } + public function testGetPortableDeclarationSupportsNativeTimestampType() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'date')); + + $this->assertEqual($type, array(array('timestamp'), null, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'timestamp')); + + $this->assertEqual($type, array(array('timestamp'), null, null, null)); + } + public function testGetPortableDeclarationSupportsNativeClobTypes() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'clob')); + + $this->assertEqual($type, array(array('clob'), null, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'long')); + + $this->assertEqual($type, array(array('string', 'clob'), null, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'nclob')); + + $this->assertEqual($type, array(array('clob'), null, null, null)); + + } + public function testGetPortableDeclarationSupportsNativeBlobTypes() { + $type = $this->dataDict->getPortableDeclaration(array('type' => 'blob')); + + $this->assertEqual($type, array(array('blob'), null, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'long raw')); + + $this->assertEqual($type, array(array('blob'), null, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'long raw')); + + $this->assertEqual($type, array(array('blob'), null, null, null)); + + $type = $this->dataDict->getPortableDeclaration(array('type' => 'raw')); + + $this->assertEqual($type, array(array('blob'), null, null, null)); + } public function testGetNativeDefinitionSupportsIntegerType() { $a = array('type' => 'integer', 'length' => 20, 'fixed' => false);