parent
f742ec1f39
commit
241d145d83
@ -0,0 +1,353 @@ |
||||
<?php |
||||
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be/gradebookitem.class.php'; |
||||
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be/abstractlink.class.php'; |
||||
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be/evallink.class.php'; |
||||
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be/dropboxlink.class.php'; |
||||
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be/result.class.php'; |
||||
|
||||
class TestEvaluation extends UnitTestCase { |
||||
|
||||
public function TestEvaluation() { |
||||
$this->UnitTestCase('Test Evaluation'); |
||||
} |
||||
|
||||
|
||||
public function __construct() { |
||||
// The constructor acts like a global setUp for the class |
||||
require_once api_get_path(SYS_TEST_PATH).'setup.inc.php'; |
||||
global $date; |
||||
$this->evaluation = new Evaluation(); |
||||
$this->evaluation-> set_id (1); |
||||
$this->evaluation-> set_name ('test'); |
||||
$this->evaluation-> set_description ('test description'); |
||||
$this->evaluation-> set_user_id (1); |
||||
$this->evaluation-> set_course_code ('COURSETEST'); |
||||
$this->evaluation-> set_category_id (1); |
||||
$this->evaluation-> set_date ($date); |
||||
$this->evaluation-> set_weight (1); |
||||
$this->evaluation-> set_max (1); |
||||
$this->evaluation-> set_visible (1); |
||||
} |
||||
|
||||
/** |
||||
* Insert this evaluation into the database |
||||
*/ |
||||
|
||||
public function testadd() { |
||||
$res = $this->evaluation->add(); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testadd_evaluation_log() { |
||||
$idevaluation = 1; |
||||
$res = $this->evaluation->add_evaluation_log($idevaluation); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Calculate the score of this evaluation |
||||
* @param $stud_id student id (default: all students who have results for this eval - then the average is returned) |
||||
* @return array (score, max) if student is given |
||||
* array (sum of scores, number of scores) otherwise |
||||
* or null if no scores available |
||||
*/ |
||||
|
||||
public function testcalc_score() { |
||||
$res = $this->evaluation->calc_score($stud_id = null); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Delete this evaluation from the database |
||||
*/ |
||||
|
||||
public function testdelete() { |
||||
$res = $this->evaluation->delete(); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Delete all results for this evaluation |
||||
*/ |
||||
|
||||
public function testdelete_results() { |
||||
$res = $this->evaluation->delete_results(); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Delete this evaluation and all underlying results. |
||||
*/ |
||||
|
||||
public function testdelete_with_results() { |
||||
$res = $this->evaluation->delete_with_results(); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Check if an evaluation name (with the same parent category) already exists |
||||
* @param $name name to check (if not given, the name property of this object will be checked) |
||||
* @param $parent parent category |
||||
*/ |
||||
|
||||
public function testdoes_name_exist() { |
||||
$name = 'test name'; |
||||
$parent = 1; |
||||
$res = $this->evaluation->does_name_exist($name, $parent); |
||||
$this->assertTrue(is_bool($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Find evaluations by name |
||||
* @param string $name_mask search string |
||||
* @return array evaluation objects matching the search criterium |
||||
* @todo can be written more efficiently using a new (but very complex) sql query |
||||
*/ |
||||
//problem with the call get_evaluations(): Call to a member function get_evaluations() on a non-object |
||||
/*public function testfind_evaluations() { |
||||
$name_mask = 'test name mask'; |
||||
$selectcat = 1; |
||||
$res = Evaluation::find_evaluations($name_mask,$selectcat); |
||||
$this->assertTrue(is_array($res)); |
||||
//var_dump($res); |
||||
}*/ |
||||
|
||||
public function testget_category_id() { |
||||
$res = $this->evaluation->get_category_id(); |
||||
$this->assertTrue(is_numeric($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_course_code() { |
||||
$res = $this->evaluation->get_course_code(); |
||||
$this->assertTrue(is_string($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_date() { |
||||
$res = $this->evaluation->get_date(); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_description() { |
||||
$res = $this->evaluation->get_description(); |
||||
$this->assertTrue(is_string($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Retrieve evaluations where a student has results for |
||||
* and return them as an array of Evaluation objects |
||||
* @param $cat_id parent category (use 'null' to retrieve them in all categories) |
||||
* @param $stud_id student id |
||||
*/ |
||||
|
||||
public function testget_evaluations_with_result_for_student() { |
||||
$stud_id = 1; |
||||
$res = $this->evaluation->get_evaluations_with_result_for_student($cat_id = null, $stud_id); |
||||
$this->assertTrue(is_array($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_icon_name() { |
||||
$res = $this->evaluation->get_icon_name(); |
||||
$this->assertTrue(is_string($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_id() { |
||||
$res = $this->evaluation->get_id(); |
||||
$this->assertTrue(is_numeric($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_item_type() { |
||||
$res = $this->evaluation->get_item_type(); |
||||
$this->assertTrue(is_string($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_max() { |
||||
$res = $this->evaluation->get_max(); |
||||
$this->assertTrue(is_numeric($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_name() { |
||||
$res = $this->evaluation->get_name(); |
||||
$this->assertTrue(is_string($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Get a list of students that do not have a result record for this evaluation |
||||
*/ |
||||
|
||||
public function testget_not_subscribed_students() { |
||||
$res = $this->evaluation->get_not_subscribed_students($first_letter_user = ''); |
||||
$this->assertTrue(is_array($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Generate an array of possible categories where this evaluation can be moved to. |
||||
* Notice: its own parent will be included in the list: it's up to the frontend |
||||
* to disable this element. |
||||
* @return array 2-dimensional array - every element contains 3 subelements (id, name, level) |
||||
*/ |
||||
|
||||
public function testget_target_categories() { |
||||
$res = $this->evaluation->get_target_categories(); |
||||
$this->assertTrue(is_array($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_user_id() { |
||||
$res = $this->evaluation->get_user_id(); |
||||
$this->assertTrue(is_numeric($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testget_weight() { |
||||
$res = $this->evaluation->get_weight(); |
||||
$this->assertTrue(is_numeric($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Are there any results for this evaluation yet ? |
||||
* The 'max' property should not be changed then. |
||||
*/ |
||||
|
||||
public function testhas_results() { |
||||
$res = $this->evaluation->has_results(); |
||||
$this->assertTrue(is_bool($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testis_valid_score() { |
||||
$score = 1; |
||||
$res = $this->evaluation->is_valid_score($score); |
||||
$this->assertTrue(is_bool($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testis_visible() { |
||||
$res = $this->evaluation->is_visible(); |
||||
$this->assertTrue(is_numeric($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Retrieve evaluations and return them as an array of Evaluation objects |
||||
* @param $id evaluation id |
||||
* @param $user_id user id (evaluation owner) |
||||
* @param $course_code course code |
||||
* @param $category_id parent category |
||||
* @param $visible visible |
||||
*/ |
||||
|
||||
public function testload() { |
||||
$res = $this->evaluation->load($id = null, $user_id = null, $course_code = null, $category_id = null, $visible = null); |
||||
$this->assertTrue(is_array($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Move this evaluation to the given category. |
||||
* If this evaluation moves from inside a course to outside, |
||||
* its course code is also changed. |
||||
*/ |
||||
|
||||
public function testmove_to_cat() { |
||||
$cat = $this->evaluation; |
||||
$res = $this->evaluation->move_to_cat($cat); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
/** |
||||
* Update the properties of this evaluation in the database |
||||
*/ |
||||
|
||||
public function testsave() { |
||||
$res = $this->evaluation->save(); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_category_id() { |
||||
$res = $this->evaluation->set_category_id(1); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_course_code() { |
||||
$res = $this->evaluation->set_course_code('COURSETEST'); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_date() { |
||||
global $date; |
||||
$res = $this->evaluation->set_date('02/02/2010'); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_description() { |
||||
$res = $this->evaluation->set_description('test description'); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_id() { |
||||
$res = $this->evaluation->set_id(1); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_max() { |
||||
$res = $this->evaluation->set_max(1); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_name() { |
||||
$res = $this->evaluation->set_name('test name'); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_user_id() { |
||||
$res = $this->evaluation->set_user_id(1); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_visible() { |
||||
$res = $this->evaluation->set_visible(1); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function testset_weight() { |
||||
$res = $this->evaluation->set_weight(1); |
||||
$this->assertTrue(is_null($res)); |
||||
//var_dump($res); |
||||
} |
||||
|
||||
public function __destruct() { |
||||
// The destructor acts like a global tearDown for the class |
||||
require_once api_get_path(SYS_TEST_PATH).'teardown.inc.php'; |
||||
} |
||||
} |
||||
?> |
Loading…
Reference in new issue