Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 11
Línea 64... Línea 64...
64
        $this->workshop = null;
64
        $this->workshop = null;
65
        $this->evaluator = null;
65
        $this->evaluator = null;
66
        parent::tearDown();
66
        parent::tearDown();
67
    }
67
    }
Línea 68... Línea 68...
68
 
68
 
69
    public function test_normalize_grades() {
69
    public function test_normalize_grades(): void {
70
        // fixture set-up
70
        // fixture set-up
71
        $assessments = array();
71
        $assessments = array();
72
        $assessments[1] = (object)array(
72
        $assessments[1] = (object)array(
73
            'dimgrades' => array(3 => 1.0000, 4 => 13.42300),
73
            'dimgrades' => array(3 => 1.0000, 4 => 13.42300),
Línea 94... Línea 94...
94
        $this->assertEquals($norm[1]->dimgrades[4], grade_floatval(13.423 / 20 * 100));
94
        $this->assertEquals($norm[1]->dimgrades[4], grade_floatval(13.423 / 20 * 100));
95
        $this->assertEquals($norm[3]->dimgrades[4], grade_floatval(19.1 / 20 * 100));
95
        $this->assertEquals($norm[3]->dimgrades[4], grade_floatval(19.1 / 20 * 100));
96
        $this->assertEquals($norm[7]->dimgrades[4], 0);
96
        $this->assertEquals($norm[7]->dimgrades[4], 0);
97
    }
97
    }
Línea 98... Línea 98...
98
 
98
 
99
    public function test_normalize_grades_max_equals_min() {
99
    public function test_normalize_grades_max_equals_min(): void {
100
        // fixture set-up
100
        // fixture set-up
101
        $assessments = array();
101
        $assessments = array();
102
        $assessments[1] = (object)array(
102
        $assessments[1] = (object)array(
103
            'dimgrades' => array(3 => 100.0000),
103
            'dimgrades' => array(3 => 100.0000),
Línea 110... Línea 110...
110
        // validate
110
        // validate
111
        $this->assertEquals(gettype($norm), 'array');
111
        $this->assertEquals(gettype($norm), 'array');
112
        $this->assertEquals($norm[1]->dimgrades[3], 100);
112
        $this->assertEquals($norm[1]->dimgrades[3], 100);
113
    }
113
    }
Línea 114... Línea 114...
114
 
114
 
115
    public function test_average_assessment_same_weights() {
115
    public function test_average_assessment_same_weights(): void {
116
        // fixture set-up
116
        // fixture set-up
117
        $assessments = array();
117
        $assessments = array();
118
        $assessments[18] = (object)array(
118
        $assessments[18] = (object)array(
119
            'weight'        => 1,
119
            'weight'        => 1,
Línea 129... Línea 129...
129
        $this->assertEquals(gettype($average->dimgrades), 'array');
129
        $this->assertEquals(gettype($average->dimgrades), 'array');
130
        $this->assertEquals(grade_floatval($average->dimgrades[1]), grade_floatval(25));
130
        $this->assertEquals(grade_floatval($average->dimgrades[1]), grade_floatval(25));
131
        $this->assertEquals(grade_floatval($average->dimgrades[2]), grade_floatval(50));
131
        $this->assertEquals(grade_floatval($average->dimgrades[2]), grade_floatval(50));
132
    }
132
    }
Línea 133... Línea 133...
133
 
133
 
134
    public function test_average_assessment_different_weights() {
134
    public function test_average_assessment_different_weights(): void {
135
        // fixture set-up
135
        // fixture set-up
136
        $assessments = array();
136
        $assessments = array();
137
        $assessments[11] = (object)array(
137
        $assessments[11] = (object)array(
138
            'weight'        => 1,
138
            'weight'        => 1,
Línea 153... Línea 153...
153
        $this->assertEquals(grade_floatval($average->dimgrades[3]), grade_floatval((10.0 + 11.0*3 + 11.0)/5));
153
        $this->assertEquals(grade_floatval($average->dimgrades[3]), grade_floatval((10.0 + 11.0*3 + 11.0)/5));
154
        $this->assertEquals(grade_floatval($average->dimgrades[4]), grade_floatval((13.4 + 10.1*3 + 8.1)/5));
154
        $this->assertEquals(grade_floatval($average->dimgrades[4]), grade_floatval((13.4 + 10.1*3 + 8.1)/5));
155
        $this->assertEquals(grade_floatval($average->dimgrades[5]), grade_floatval((95.0 + 92.0*3 + 88.0)/5));
155
        $this->assertEquals(grade_floatval($average->dimgrades[5]), grade_floatval((95.0 + 92.0*3 + 88.0)/5));
156
    }
156
    }
Línea 157... Línea 157...
157
 
157
 
158
    public function test_average_assessment_noweight() {
158
    public function test_average_assessment_noweight(): void {
159
        // fixture set-up
159
        // fixture set-up
160
        $assessments = array();
160
        $assessments = array();
161
        $assessments[11] = (object)array(
161
        $assessments[11] = (object)array(
162
            'weight'        => 0,
162
            'weight'        => 0,
Línea 170... Línea 170...
170
        $average = $this->evaluator->average_assessment($assessments);
170
        $average = $this->evaluator->average_assessment($assessments);
171
        // validate
171
        // validate
172
        $this->assertNull($average);
172
        $this->assertNull($average);
173
    }
173
    }
Línea 174... Línea 174...
174
 
174
 
175
    public function test_weighted_variance() {
175
    public function test_weighted_variance(): void {
176
        // fixture set-up
176
        // fixture set-up
177
        $assessments[11] = (object)array(
177
        $assessments[11] = (object)array(
178
            'weight'        => 1,
178
            'weight'        => 1,
179
            'dimgrades'     => array(3 => 11, 4 => 2),
179
            'dimgrades'     => array(3 => 11, 4 => 2),
Línea 201... Línea 201...
201
        $this->assertEquals($variance[3], 0);
201
        $this->assertEquals($variance[3], 0);
202
        // dimension [4] represents data 2, 4, 4, 4, 5, 5, 7, 9 having stdev=2 (stdev is sqrt of variance)
202
        // dimension [4] represents data 2, 4, 4, 4, 5, 5, 7, 9 having stdev=2 (stdev is sqrt of variance)
203
        $this->assertEquals($variance[4], 4);
203
        $this->assertEquals($variance[4], 4);
204
    }
204
    }
Línea 205... Línea 205...
205
 
205
 
206
    public function test_assessments_distance_zero() {
206
    public function test_assessments_distance_zero(): void {
207
        // fixture set-up
207
        // fixture set-up
208
        $diminfo = array(
208
        $diminfo = array(
209
            3 => (object)array('weight' => 1, 'min' => 0, 'max' => 100, 'variance' => 12.34567),
209
            3 => (object)array('weight' => 1, 'min' => 0, 'max' => 100, 'variance' => 12.34567),
210
            4 => (object)array('weight' => 1, 'min' => 1, 'max' => 5,   'variance' => 98.76543),
210
            4 => (object)array('weight' => 1, 'min' => 1, 'max' => 5,   'variance' => 98.76543),
Línea 214... Línea 214...
214
        $settings = (object)array('comparison' => 5);
214
        $settings = (object)array('comparison' => 5);
215
        // exercise SUT and validate
215
        // exercise SUT and validate
216
        $this->assertEquals($this->evaluator->assessments_distance($assessment1, $assessment2, $diminfo, $settings), 0);
216
        $this->assertEquals($this->evaluator->assessments_distance($assessment1, $assessment2, $diminfo, $settings), 0);
217
    }
217
    }
Línea 218... Línea 218...
218
 
218
 
219
    public function test_assessments_distance_equals() {
219
    public function test_assessments_distance_equals(): void {
220
        /*
220
        /*
221
        // fixture set-up
221
        // fixture set-up
222
        $diminfo = array(
222
        $diminfo = array(
223
            3 => (object)array('weight' => 1, 'min' => 0, 'max' => 100, 'variance' => 12.34567),
223
            3 => (object)array('weight' => 1, 'min' => 0, 'max' => 100, 'variance' => 12.34567),
Línea 244... Línea 244...
244
        $this->assertEquals($this->evaluator->assessments_distance($assessment1, $referential, $diminfo, $settings),
244
        $this->assertEquals($this->evaluator->assessments_distance($assessment1, $referential, $diminfo, $settings),
245
            $this->evaluator->assessments_distance($assessment2, $referential, $diminfo, $settings));
245
            $this->evaluator->assessments_distance($assessment2, $referential, $diminfo, $settings));
Línea 246... Línea 246...
246
 
246
 
Línea 247... Línea 247...
247
    }
247
    }
248
 
248
 
249
    public function test_assessments_distance_zero_variance() {
249
    public function test_assessments_distance_zero_variance(): void {
250
        // Fixture set-up: an assessment form of the strategy "Number of errors",
250
        // Fixture set-up: an assessment form of the strategy "Number of errors",
251
        // three assertions, same weight.
251
        // three assertions, same weight.
252
        $diminfo = array(
252
        $diminfo = array(