From af4f85ae69af33c8071f1a6fef09e76e24e11111 Mon Sep 17 00:00:00 2001 From: zYne Date: Wed, 7 Nov 2007 23:00:24 +0000 Subject: [PATCH] some tests for class table inheritance --- tests/ClassTableInheritanceTestCase.php | 88 +++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 tests/ClassTableInheritanceTestCase.php diff --git a/tests/ClassTableInheritanceTestCase.php b/tests/ClassTableInheritanceTestCase.php new file mode 100644 index 000000000..403f53c88 --- /dev/null +++ b/tests/ClassTableInheritanceTestCase.php @@ -0,0 +1,88 @@ +. + */ + +/** + * Doctrine_ClassTableInheritance_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_ClassTableInheritance_TestCase extends Doctrine_UnitTestCase +{ + public function prepareTables() + { } + public function prepareData() + { } + + public function testClassTableInheritanceIsTheDefaultInheritanceType() + { + $class = new CTITest(); + + $table = $class->getTable(); + + $this->assertEqual($table->getOption('joinedParents'), array('CTITestParent2', 'CTITestParent3')); + + $this->assertEqual($class->toArray(), array('id' => null, + 'age' => null, + 'name' => null, + 'verified' => null, + 'added' => null)); + } +} +class CTITestParent1 extends Doctrine_Record +{ + public function setTableDefinition() + { + $this->hasColumn('name', 'string', 200); + } +} +class CTITestParent2 extends CTITestParent1 +{ + public function setTableDefinition() + { + parent::setTableDefinition(); + + $this->hasColumn('verified', 'boolean', 1); + } +} +class CTITestParent3 extends CTITestParent2 +{ + public function setTableDefinition() + { + $this->hasColumn('added', 'timestamp'); + } +} +class CTITestParent4 extends CTITestParent3 +{ + public function setTableDefinition() + { + $this->hasColumn('age', 'integer', 4); + } +} +class CTITest extends CTITestParent4 +{ + +}