Newer
Older
sqlmarker / STINK_student_records / Test_classes / Student / STINK_student_records_Test_Student.php
<?php
require_once "Schema.php";

abstract class STINK_student_records_Test_Student extends PHPUnit_Extensions_Database_TestCase_CreateTable
{
	public function getTableName()
	{
		return 'STUDENT';
	}
	
	
	public function getColumnList()
	{
		return array(
			// No need to test legal values because of the FK. If the FK is missing it's broken anyway!
			'STUDENT_ID'		=>	array(	'generic_type'	=>	'NUMBER',
											'sql_type'		=>	array( 'NUMBER', 'INTEGER' ),
											'min_length'	=>	7,
											'max_length'	=>	7,
											'decimals'		=>	0,
											'nullable'		=>	false,
											'test_value'	=>	"1234571",	), // Has to be an unused Person_ID in the fixture because of the FK.
			'HOME_PHONE'		=>	array(	'generic_type'	=>	'TEXT',
											'sql_type'		=>	array( 'VARCHAR2', 'VARCHAR' ),
											'min_length'	=>	15,
											'nullable'		=>	true,
											'test_value'	=>	"612245678764",	),
			'HOME_ADDRESS'		=>	array(	'generic_type'	=>	'TEXT',
											'sql_type'		=>	array( 'VARCHAR2', 'VARCHAR' ),
											'min_length'	=>	200,
											'max_length'	=>	200,
											'nullable'		=>	false,
											'test_value'	=>	"30 Pinewood Ave, Kalumba, NSW",	),
			'INTERNATIONAL'		=>	array(	'generic_type'	=>	'TEXT',
											'sql_type'		=>	array( 'CHAR', 'VARCHAR2', 'VARCHAR' ),
											'min_length'	=>	1,
											'nullable'		=>	false,
											'default'       =>  FALSE_VALUE,
											'legal_values'	=>	array( TRUE_VALUE, FALSE_VALUE ),
// 												'f', 'F', 'false', 'False', 'FALSE', 'n', 'N', 'no', 'No', 'NO', '0',
// 												't', 'T', 'true', 'True', 'TRUE', 'y', 'Y', 'yes', 'Yes', 'YES', '1',	),
											'illegal_values'=>	array( ' ', 'X', '9', '@' ),
											'test_value'	=>	TRUE_VALUE,	),
			// No need to test legal values because of the FK. If the FK is missing it's broken anyway!
			'SUPERVISOR_ID'		=>	array(	'generic_type'	=>	'NUMBER',
											'sql_type'		=>	array( 'NUMBER', 'INTEGER' ),
											'aliases'		=>	array( 'STAFF_ID', 'PERSON_ID' ),
											'min_length'	=>	7,
											'max_length'	=>	7,
											'nullable'		=>	true,
											'test_value'	=>	"1234567",	),	);
	}
	
	
	public function getPKColumnList()
	{
		return array( 'STUDENT_ID' );
	}
	
	
	public function getFKColumnList()
	{
		return array(
			'PERSON' => array( 'STUDENT_ID' ),
			'STAFF' => array( 'SUPERVISOR_ID' ),
		);
	}
	
	
	public function getUniqueColumnList()
	{
		return array();
	}
}
?>