parent
13b5346a4f
commit
41defae276
161
tests/Ticket/638TestCase.php
Normal file
161
tests/Ticket/638TestCase.php
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Doctrine_Ticket_638_TestCase
|
||||||
|
*
|
||||||
|
* @package Doctrine
|
||||||
|
* @author Tamcy <7am.online@gmail.com>
|
||||||
|
* @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_Ticket_638_TestCase extends Doctrine_UnitTestCase
|
||||||
|
{
|
||||||
|
public function prepareData()
|
||||||
|
{ }
|
||||||
|
|
||||||
|
public function prepareTables()
|
||||||
|
{
|
||||||
|
$this->tables = array('T638_Student', 'T638_Course', 'T638_StudentCourse');
|
||||||
|
parent::prepareTables();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function newCourse($id, $name)
|
||||||
|
{
|
||||||
|
$course = new T638_Course();
|
||||||
|
$course->id = $id;
|
||||||
|
$course->name = $name;
|
||||||
|
$course->save();
|
||||||
|
return $course;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function newStudent($id, $name)
|
||||||
|
{
|
||||||
|
$u = new T638_Student();
|
||||||
|
$u->id = $id;
|
||||||
|
$u->name = $name;
|
||||||
|
$u->group_id = 1;
|
||||||
|
$u->save();
|
||||||
|
return $u;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function newStudentCourse($student, $course)
|
||||||
|
{
|
||||||
|
$sc = new T638_StudentCourse;
|
||||||
|
$sc->student_id = $student->id;
|
||||||
|
$sc->course_id = $course->id;
|
||||||
|
$sc->save();
|
||||||
|
return $sc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testTicket()
|
||||||
|
{
|
||||||
|
$student1 = $this->newStudent('07090002', 'First Student');
|
||||||
|
$course1 = $this->newCourse('MATH001', 'Maths');
|
||||||
|
$course2 = $this->newCourse('ENG002', 'English Literature');
|
||||||
|
|
||||||
|
$sc = new T638_StudentCourse;
|
||||||
|
$sc->set('Student', $student1);
|
||||||
|
$sc->set('Course', $course1);
|
||||||
|
|
||||||
|
if ($student1->get('id') instanceof T638_StudentCourse)
|
||||||
|
{
|
||||||
|
$this->fail('Student Id incorrectly replaced!');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->pass();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($student1->get('id') != '07090002')
|
||||||
|
{
|
||||||
|
$this->fail('Student Id is not correct after assignment!');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->pass();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($course1->get('id') instanceof T638_StudentCourse)
|
||||||
|
{
|
||||||
|
$this->fail('Course Id incorrectly replaced!');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->pass();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($course1->get('id') != 'MATH001')
|
||||||
|
{
|
||||||
|
$this->fail('Course Id is not correct after assignment!');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->pass();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertEqual($sc->get('student_id'), '07090002');
|
||||||
|
$this->assertEqual($sc->get('course_id'), 'MATH001');
|
||||||
|
$this->assertIdentical($sc->get('Student'), $student1);
|
||||||
|
$this->assertIdentical($sc->get('Course'), $course1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class T638_Student extends Doctrine_Record
|
||||||
|
{
|
||||||
|
public function setTableDefinition()
|
||||||
|
{
|
||||||
|
$this->setTableName('T638_student');
|
||||||
|
|
||||||
|
$this->hasColumn('s_id as id', 'varchar', 30, array ( 'primary' => true,));
|
||||||
|
$this->hasColumn('s_g_id as group_id', 'varchar', 30, array ('notnull'=>true));
|
||||||
|
$this->hasColumn('s_name as name', 'varchar', 50, array ('notnull'=>true));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class T638_Course extends Doctrine_Record
|
||||||
|
{
|
||||||
|
public function setTableDefinition()
|
||||||
|
{
|
||||||
|
$this->setTableName('T638_course');
|
||||||
|
|
||||||
|
$this->hasColumn('c_id as id', 'varchar', 20, array ( 'primary' => true,));
|
||||||
|
$this->hasColumn('c_name as name', 'varchar', 50, array ('notnull'=>true));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public function set($fieldName, $value, $load = true)
|
||||||
|
{
|
||||||
|
parent::set($fieldName, $value, $load);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class T638_StudentCourse extends Doctrine_Record
|
||||||
|
{
|
||||||
|
public function setTableDefinition()
|
||||||
|
{
|
||||||
|
$this->setTableName('T638_Student_course');
|
||||||
|
|
||||||
|
$this->hasColumn('sc_student_id as student_id', 'varchar', 30, array ( 'primary' => true,));
|
||||||
|
$this->hasColumn('sc_course_id as course_id', 'varchar', 20, array ( 'primary' => true,));
|
||||||
|
$this->hasColumn('sc_remark as remark', 'varchar', 500, array ('notnull'=>true));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
$this->hasOne('T638_Student as Student', array('local' => 'sc_student_id', 'foreign' => 's_id'));
|
||||||
|
$this->hasOne('T638_Course as Course', array('local' => 'sc_course_id', 'foreign' => 'c_id'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
<?php
|
f<?php
|
||||||
error_reporting(E_ALL | E_STRICT);
|
error_reporting(E_ALL | E_STRICT);
|
||||||
ini_set('max_execution_time', 900);
|
ini_set('max_execution_time', 900);
|
||||||
ini_set("date.timezone", "GMT+0");
|
ini_set("date.timezone", "GMT+0");
|
||||||
@ -21,6 +21,8 @@ $tickets->addTestCase(new Doctrine_Ticket_626B_TestCase());
|
|||||||
$tickets->addTestCase(new Doctrine_Ticket_626C_TestCase());
|
$tickets->addTestCase(new Doctrine_Ticket_626C_TestCase());
|
||||||
$tickets->addTestCase(new Doctrine_Ticket_642_TestCase());
|
$tickets->addTestCase(new Doctrine_Ticket_642_TestCase());
|
||||||
//If you write a ticket testcase add it here like shown above!
|
//If you write a ticket testcase add it here like shown above!
|
||||||
|
$tickets->addTestCase(new Doctrine_Ticket_438_TestCase());
|
||||||
|
$tickets->addTestCase(new Doctrine_Ticket_638_TestCase());
|
||||||
$test->addTestCase($tickets);
|
$test->addTestCase($tickets);
|
||||||
|
|
||||||
// Connection drivers (not yet fully tested)
|
// Connection drivers (not yet fully tested)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user