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

Reply via email to