function _createCourse()
 {
     $course = new CourseForTest();
     $course->setTitle('General Course');
     $course->save();
     return $course;
 }
 function _createCourseWithTwoLectures()
 {
     $course = new CourseForTest();
     $course->setTitle($title = 'General Course');
     $l1 = new LectureForTest();
     $l1->setTitle('Physics');
     $l2 = new LectureForTest();
     $l2->setTitle('Math');
     $course->addToLectures($l1);
     $course->addToLectures($l2);
     $course->save();
     return $course;
 }
 function createCourse($program = null)
 {
     $course = new CourseForTest();
     $course->setTitle('Course_' . rand(0, 100));
     if ($program) {
         $course->setProgram($program);
     }
     $course->save();
     return $course;
 }
 function testCorrectUsageCrossRelations()
 {
     $program = new ProgramForTest();
     $program->setTitle('Program');
     $program->save();
     $course = new CourseForTest();
     $course->setProgram($program);
     $course->save();
     $lecture = new LectureForTest();
     $lecture->setCourse($course);
     $lecture->setCachedProgram($program);
     $lecture->save();
     try {
         $finded_lectures = $program->getCachedLectures()->find(array('join' => array('course')))->getArray();
     } catch (lmbException $e) {
         $this->assertTrue(false);
     }
 }
 function testAddingToCollectionDoesntMakeExistingObjectDirty()
 {
     $course = new CourseForTest();
     $course->setTitle('course');
     $course->save();
     $lecture = new LectureForTest();
     $course->addToLectures($lecture);
     $this->assertFalse($course->isDirty());
 }
 function testImportResetsExistingOne2ManyCollection()
 {
     $course = new CourseForTest();
     $course->setTitle('Some course');
     $l1 = new LectureForTest();
     $l1->setTitle('Physics');
     $l2 = new LectureForTest();
     $l2->setTitle('Math');
     $course->addToLectures($l1);
     $course->addToLectures($l2);
     $course->save();
     $source = array('title' => $course->getTitle(), 'lectures' => array($l2->getId()));
     $course2 = new CourseForTest($course->getId());
     $course2->import($source);
     $this->assertEqual($course2->getTitle(), $course->getTitle());
     $this->assertEqual($course2->getLectures()->count(), 1);
     $this->assertEqual($course2->getLectures()->at(0)->getTitle(), $l2->getTitle());
 }