Author: Derick Rethans Date: 2006-06-26 16:36:14 +0200 (Mon, 26 Jun 2006) New Revision: 3153
Log: - Added some test cases for ezcDbSchemaField. Added: trunk/DatabaseSchema/tests/schema_field_test.php Modified: trunk/DatabaseSchema/tests/suite.php Added: trunk/DatabaseSchema/tests/schema_field_test.php =================================================================== --- trunk/DatabaseSchema/tests/schema_field_test.php 2006-06-26 14:35:47 UTC (rev 3152) +++ trunk/DatabaseSchema/tests/schema_field_test.php 2006-06-26 14:36:14 UTC (rev 3153) @@ -0,0 +1,109 @@ +<?php +/** + * @copyright Copyright (C) 2005, 2006 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + * @version //autogentag// + * @filesource + * @package DatabaseSchema + * @subpackage Tests + */ + +/** + * @package DatabaseSchema + * @subpackage Tests + */ +class ezcDatabaseSchemaFieldTest extends ezcTestCase +{ + public function testConstructorAllDefault() + { + $schemaField = new ezcDbSchemaField( 'text' ); + self::assertEquals( $schemaField->type, 'text' ); + self::assertEquals( $schemaField->length, false ); + self::assertEquals( $schemaField->notNull, false ); + self::assertEquals( $schemaField->default, null ); + self::assertEquals( $schemaField->autoIncrement, false ); + self::assertEquals( $schemaField->unsigned, false ); + } + + public function testConstructorAllGiven1() + { + $schemaField = new ezcDbSchemaField( 'text', 40, true, 'testing', true, false ); + self::assertEquals( $schemaField->type, 'text' ); + self::assertEquals( $schemaField->length, 40 ); + self::assertEquals( $schemaField->notNull, true ); + self::assertEquals( $schemaField->default, 'testing' ); + self::assertEquals( $schemaField->autoIncrement, true ); + self::assertEquals( $schemaField->unsigned, false ); + } + + public function testConstructorAllGiven2() + { + $schemaField = new ezcDbSchemaField( 'enum', false, true, 'b', true, false ); + self::assertEquals( $schemaField->type, 'enum' ); + self::assertEquals( $schemaField->length, false ); + self::assertEquals( $schemaField->notNull, true ); + self::assertEquals( $schemaField->default, 'b' ); + self::assertEquals( $schemaField->autoIncrement, true ); + self::assertEquals( $schemaField->unsigned, false ); + } + + public function testSetStatePerfect1() + { + $a = array(); + $a['type'] = 'integer'; + $a['length'] = 42; + $a['notNull'] = true; + $a['default'] = 12; + $a['autoIncrement'] = false; + $a['unsigned'] = false; + $schemaField = ezcDbSchemaField::__set_state( $a ); + self::assertEquals( $schemaField->type, 'integer' ); + self::assertEquals( $schemaField->length, 42 ); + self::assertEquals( $schemaField->notNull, true ); + self::assertEquals( $schemaField->default, 12 ); + self::assertEquals( $schemaField->autoIncrement, false ); + self::assertEquals( $schemaField->unsigned, false ); + } + + public function testSetStatePerfect2() + { + $a = array(); + $a['type'] = 'integer'; + $a['length'] = 42; + $a['notNull'] = true; + $a['default'] = 12; + $a['autoIncrement'] = false; + $a['unsigned'] = false; + $schemaField = ezcDbSchemaField::__set_state( $a ); + self::assertEquals( $schemaField->type, 'integer' ); + self::assertEquals( $schemaField->length, 42 ); + self::assertEquals( $schemaField->notNull, true ); + self::assertEquals( $schemaField->default, 12 ); + self::assertEquals( $schemaField->autoIncrement, false ); + self::assertEquals( $schemaField->unsigned, false ); + } + + public function testSetStateCastValues() + { + $a = array(); + $a['type'] = 'integer'; + $a['length'] = '42'; + $a['notNull'] = 1; + $a['default'] = true; + $a['autoIncrement'] = '0'; + $a['unsigned'] = 'true'; + $schemaField = ezcDbSchemaField::__set_state( $a ); + self::assertEquals( $schemaField->type, 'integer' ); + self::assertEquals( $schemaField->length, 42 ); + self::assertEquals( $schemaField->notNull, true ); + self::assertEquals( $schemaField->default, true ); + self::assertEquals( $schemaField->autoIncrement, false ); + self::assertEquals( $schemaField->unsigned, true ); + } + + public static function suite() + { + return new ezcTestSuite( 'ezcDatabaseSchemaFieldTest' ); + } +} +?> Property changes on: trunk/DatabaseSchema/tests/schema_field_test.php ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/DatabaseSchema/tests/suite.php =================================================================== --- trunk/DatabaseSchema/tests/suite.php 2006-06-26 14:35:47 UTC (rev 3152) +++ trunk/DatabaseSchema/tests/suite.php 2006-06-26 14:36:14 UTC (rev 3153) @@ -9,6 +9,7 @@ */ require_once 'schema_test.php'; +require_once 'schema_field_test.php'; require_once 'handler_manager_test.php'; require_once 'php_array_test.php'; require_once 'php_array_diff_test.php'; @@ -32,6 +33,7 @@ $this->setName( 'DatabaseSchema' ); $this->addTest( ezcDatabaseSchemaTest::suite() ); + $this->addTest( ezcDatabaseSchemaFieldTest::suite() ); $this->addTest( ezcDatabaseSchemaHandlerManagerTest::suite() ); $this->addTest( ezcDatabaseSchemaValidatorTest::suite() ); $this->addTest( ezcDatabaseSchemaComparatorTest::suite() ); -- svn-components mailing list [email protected] http://lists.ez.no/mailman/listinfo/svn-components
