Proyectos de Subversion Moodle

Rev

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

Rev 11 Rev 1441
Línea 41... Línea 41...
41
 * @package   core_grades
41
 * @package   core_grades
42
 * @category  test
42
 * @category  test
43
 * @copyright 2016 Jun Pataleta <jun@moodle.com>
43
 * @copyright 2016 Jun Pataleta <jun@moodle.com>
44
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
44
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
45
 */
45
 */
46
class lib_test extends \advanced_testcase {
46
final class lib_test extends \advanced_testcase {
Línea 47... Línea 47...
47
 
47
 
48
    /**
48
    /**
49
     * Test can_output_item.
49
     * Test can_output_item.
50
     */
50
     */
Línea 368... Línea 368...
368
        }
368
        }
369
    }
369
    }
Línea 370... Línea 370...
370
 
370
 
371
    /**
371
    /**
372
     * Tests that ungraded_counts calculates count and sum of grades correctly when there are hidden grades.
372
     * Tests that ungraded_counts calculates count and sum of grades correctly when there are hidden grades.
373
     * @dataProvider ungraded_counts_hidden_grades_data()
373
     * @dataProvider ungraded_counts_hidden_grades_data
374
     * @param bool $hidden Whether to inlcude hidden grades or not.
374
     * @param bool $hidden Whether to inlcude hidden grades or not.
375
     * @param array $expectedcount expected count value (i.e. number of ugraded grades)
375
     * @param array $expectedcount expected count value (i.e. number of ugraded grades)
376
     * @param array $expectedsumarray expceted sum of grades
376
     * @param array $expectedsumarray expceted sum of grades
377
     *
377
     *
Línea 455... Línea 455...
455
    /**
455
    /**
456
     * Data provider for test_ungraded_counts_hidden_grades
456
     * Data provider for test_ungraded_counts_hidden_grades
457
     *
457
     *
458
     * @return array of testing scenarios
458
     * @return array of testing scenarios
459
     */
459
     */
460
    public function ungraded_counts_hidden_grades_data(): array {
460
    public static function ungraded_counts_hidden_grades_data(): array {
461
        return [
461
        return [
462
            'nohidden' => [
462
            'nohidden' => [
463
                'hidden' => false,
463
                'hidden' => false,
464
                'count' => ['course' => 1, 'Grade item1' => 1],
464
                'expectedcount' => ['course' => 1, 'Grade item1' => 1],
465
                'sumarray' => ['course' => 6.00000, 'Grade item1' => 3.00000],
465
                'expectedsumarray' => ['course' => 6.00000, 'Grade item1' => 3.00000],
466
            ],
466
            ],
467
            'includehidden' => [
467
            'includehidden' => [
468
                'hidden' => true,
468
                'hidden' => true,
469
                'count' => ['course' => 1, 'Grade item1' => 2],
469
                'expectedcount' => ['course' => 1, 'Grade item1' => 2],
470
                'sumarray' => ['course' => 6.00000, 'Grade item1' => 6.00000],
470
                'expectedsumarray' => ['course' => 6.00000, 'Grade item1' => 6.00000],
471
            ],
471
            ],
472
        ];
472
        ];
473
    }
473
    }
Línea 474... Línea 474...
474
 
474
 
Línea 628... Línea 628...
628
        }
628
        }
629
    }
629
    }
Línea 630... Línea 630...
630
 
630
 
631
    /**
631
    /**
632
     * Tests that ungraded_counts calculates count and sum of grades correctly when there are hidden grades.
632
     * Tests that ungraded_counts calculates count and sum of grades correctly when there are hidden grades.
633
     * @dataProvider ungraded_counts_only_active_enrol_data()
633
     * @dataProvider ungraded_counts_only_active_enrol_data
634
     * @param bool $onlyactive Site setting to show only active users.
634
     * @param bool $onlyactive Site setting to show only active users.
635
     * @param int $hascapability Capability constant
635
     * @param int $hascapability Capability constant
636
     * @param bool|null $showonlyactiveenrolpref Show only active user preference.
636
     * @param bool|null $showonlyactiveenrolpref Show only active user preference.
637
     * @param array $expectedcount expected count value (i.e. number of ugraded grades)
637
     * @param array $expectedcount expected count value (i.e. number of ugraded grades)
Línea 728... Línea 728...
728
    /**
728
    /**
729
     * Data provider for test_ungraded_counts_hidden_grades
729
     * Data provider for test_ungraded_counts_hidden_grades
730
     *
730
     *
731
     * @return array of testing scenarios
731
     * @return array of testing scenarios
732
     */
732
     */
733
    public function ungraded_counts_only_active_enrol_data(): array {
733
    public static function ungraded_counts_only_active_enrol_data(): array {
734
        return [
734
        return [
735
            'Show only active and no user preference' => [
735
            'Show only active and no user preference' => [
736
                'onlyactive' => true,
736
                'onlyactive' => true,
737
                'hascapability' => 1,
737
                'hascapability' => 1,
738
                'showonlyactiveenrolpref' => null,
738
                'showonlyactiveenrolpref' => null,
739
                'count' => ['course' => 1, 'Grade item1' => 1],
739
                'expectedcount' => ['course' => 1, 'Grade item1' => 1],
740
                'sumarray' => ['course' => 1, 'Grade item1' => 1.00000],
740
                'expectedsumarray' => ['course' => 1, 'Grade item1' => 1.00000],
741
            ],
741
            ],
742
            'Show only active and user preference set to true' => [
742
            'Show only active and user preference set to true' => [
743
                'onlyactive' => true,
743
                'onlyactive' => true,
744
                'hascapability' => 1,
744
                'hascapability' => 1,
745
                'showonlyactiveenrolpref' => true,
745
                'showonlyactiveenrolpref' => true,
746
                'count' => ['course' => 1, 'Grade item1' => 1],
746
                'expectedcount' => ['course' => 1, 'Grade item1' => 1],
747
                'sumarray' => ['course' => 1, 'Grade item1' => 1.00000],
747
                'expectedsumarray' => ['course' => 1, 'Grade item1' => 1.00000],
748
            ],
748
            ],
749
            'Show only active and user preference set to false' => [
749
            'Show only active and user preference set to false' => [
750
                'onlyactive' => true,
750
                'onlyactive' => true,
751
                'hascapability' => 1,
751
                'hascapability' => 1,
752
                'showonlyactiveenrolpref' => false,
752
                'showonlyactiveenrolpref' => false,
753
                'count' => ['course' => 1, 'Grade item1' => 1],
753
                'expectedcount' => ['course' => 1, 'Grade item1' => 1],
754
                'sumarray' => ['course' => 3.00000, 'Grade item1' => 3.00000],
754
                'expectedsumarray' => ['course' => 3.00000, 'Grade item1' => 3.00000],
755
            ],
755
            ],
756
            'Include suspended with capability and user preference set to true' => [
756
            'Include suspended with capability and user preference set to true' => [
757
                'onlyactive' => false,
757
                'onlyactive' => false,
758
                'hascapability' => 1,
758
                'hascapability' => 1,
759
                'showonlyactiveenrolpref' => true,
759
                'showonlyactiveenrolpref' => true,
760
                'count' => ['course' => 1, 'Grade item1' => 1],
760
                'expectedcount' => ['course' => 1, 'Grade item1' => 1],
761
                'sumarray' => ['course' => 1.00000, 'Grade item1' => 1.00000],
761
                'expectedsumarray' => ['course' => 1.00000, 'Grade item1' => 1.00000],
762
            ],
762
            ],
763
            'Include suspended with capability and user preference set to false' => [
763
            'Include suspended with capability and user preference set to false' => [
764
                'onlyactive' => false,
764
                'onlyactive' => false,
765
                'hascapability' => 1,
765
                'hascapability' => 1,
766
                'showonlyactiveenrolpref' => false,
766
                'showonlyactiveenrolpref' => false,
767
                'count' => ['course' => 1, 'Grade item1' => 1],
767
                'expectedcount' => ['course' => 1, 'Grade item1' => 1],
768
                'sumarray' => ['course' => 3.00000, 'Grade item1' => 3.00000],
768
                'expectedsumarray' => ['course' => 3.00000, 'Grade item1' => 3.00000],
769
            ],
769
            ],
770
            'Include suspended with capability and no user preference' => [
770
            'Include suspended with capability and no user preference' => [
771
                'onlyactive' => false,
771
                'onlyactive' => false,
772
                'hascapability' => 1,
772
                'hascapability' => 1,
773
                'showonlyactiveenrolpref' => null,
773
                'showonlyactiveenrolpref' => null,
774
                'count' => ['course' => 1, 'Grade item1' => 1],
774
                'expectedcount' => ['course' => 1, 'Grade item1' => 1],
775
                'sumarray' => ['course' => 3.00000, 'Grade item1' => 3.00000],
775
                'expectedsumarray' => ['course' => 3.00000, 'Grade item1' => 3.00000],
776
            ],
776
            ],
777
            'Include suspended without capability' => [
777
            'Include suspended without capability' => [
778
                'onlyactive' => false,
778
                'onlyactive' => false,
779
                'hascapability' => -1,
779
                'hascapability' => -1,
780
                'showonlyactiveenrolpref' => null,
780
                'showonlyactiveenrolpref' => null,
781
                'count' => ['course' => 1, 'Grade item1' => 1],
781
                'expectedcount' => ['course' => 1, 'Grade item1' => 1],
782
                'sumarray' => ['course' => 1.00000, 'Grade item1' => 1.00000],
782
                'expectedsumarray' => ['course' => 1.00000, 'Grade item1' => 1.00000],
783
            ],
783
            ],
784
        ];
784
        ];
785
    }
785
    }
Línea 786... Línea 786...
786
 
786
 
787
    /**
787
    /**
788
     * Tests for calculate_average.
788
     * Tests for calculate_average.
789
     * @dataProvider calculate_average_data()
789
     * @dataProvider calculate_average_data
790
     * @param int $meanselection Whether to inlcude all grades or non-empty grades in aggregation.
790
     * @param int $meanselection Whether to inlcude all grades or non-empty grades in aggregation.
791
     * @param array $expectedmeancount expected meancount value
791
     * @param array $expectedmeancount expected meancount value
792
     * @param array $expectedaverage expceted average value
792
     * @param array $expectedaverage expceted average value
793
     *
793
     *
Línea 876... Línea 876...
876
    /**
876
    /**
877
     * Data provider for test_calculate_average
877
     * Data provider for test_calculate_average
878
     *
878
     *
879
     * @return array of testing scenarios
879
     * @return array of testing scenarios
880
     */
880
     */
881
    public function calculate_average_data(): array {
881
    public static function calculate_average_data(): array {
882
        return [
882
        return [
883
            'Non-empty grades' => [
883
            'Non-empty grades' => [
884
                'meanselection' => 1,
884
                'meanselection' => 1,
885
                'expectedmeancount' => [' course' => 3, 'Assignment 1 mod' => 2, 'Assignment 2 mod' => 2,
885
                'expectedmeancount' => [' course' => 3, 'Assignment 1 mod' => 2, 'Assignment 2 mod' => 2,
886
                    'Quiz 1 mod' => 0, 'Grade item1 manual' => 2],
886
                    'Quiz 1 mod' => 0, 'Grade item1 manual' => 2],