public static function test_table_fields_are_correct_classes() { $table = Database_DatabaseHelper::get_table('hc_database_test_1'); $field_classes = array('id' => 'Database_IntField', 'varchar_field' => 'Database_VarCharField', 'float_field' => 'Database_FloatField', 'decimal_field' => 'Database_DecimalField', 'date_field' => 'Database_DateTimeField', 'text_field' => 'Database_TextField', 'foreign_key_id' => 'Database_IntField', 'enum_field' => 'Database_EnumField'); foreach (array_keys($field_classes) as $key) { if (!is_a($table->get_field($key), $field_classes[$key])) { return FALSE; } } return TRUE; }
public static function dtest_all_specified_fields_have_correct_type_in_db() { foreach (Database_TableSpecificationHelper::get_tables() as $specified_table) { $db_table = Database_DatabaseHelper::get_table($specified_table->get_name()); foreach ($specified_table->get_fields() as $specified_field) { $db_field = $db_table->get_field($specified_field->get_name()); if ($db_field->get_type() != $specified_field->get_type()) { return FALSE; } } } return TRUE; }