ArrayWeReduce::configure()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace PhpSchool\CallableFunctions\Exercise;
4
5
use PhpSchool\PhpWorkshop\Check\FunctionRequirementsCheck;
6
use PhpSchool\PhpWorkshop\Exercise\AbstractExercise;
7
use PhpSchool\PhpWorkshop\Exercise\CliExercise;
8
use PhpSchool\PhpWorkshop\Exercise\ExerciseInterface;
9
use PhpSchool\PhpWorkshop\Exercise\ExerciseType;
10
use PhpSchool\PhpWorkshop\ExerciseCheck\FunctionRequirementsExerciseCheck;
11
use PhpSchool\PhpWorkshop\ExerciseCheck\StdOutExerciseCheck;
12
use PhpSchool\PhpWorkshop\ExerciseDispatcher;
13
14
/**
15
 * Class ArrayWeReduce
16
 * @package PhpSchool\CallableFunctions\Exercise
17
 */
18
class ArrayWeReduce extends AbstractExercise implements
19
    ExerciseInterface,
20
    CliExercise,
21
    FunctionRequirementsExerciseCheck
22
{
23
    /**
24
     * @return string
25
     */
26
    public function getName()
27
    {
28
        return 'Array we reduce!';
29
    }
30
31
    /**
32
     * @return string
33
     */
34
    public function getDescription()
35
    {
36
        return 'Exercice with array reduce';
37
    }
38
39
    /**
40
     * @return array
41
     */
42
    public function getArgs()
43
    {
44
        return [1, 2, 3];
45
    }
46
47
    /**
48
     * @return ExerciseType
49
     */
50
    public function getType()
51
    {
52
        return ExerciseType::CLI();
53
    }
54
55
56
    /**
57
     * @return string[]
58
     */
59
    public function getRequiredFunctions()
60
    {
61
        return ['array_reduce'];
62
    }
63
64
    /**
65
     * @return string[]
66
     */
67
    public function getBannedFunctions()
68
    {
69
        return [];
70
    }
71
72
    /**
73
     * @param ExerciseDispatcher $dispatcher
74
     */
75
    public function configure(ExerciseDispatcher $dispatcher)
76
    {
77
        $dispatcher->requireCheck(FunctionRequirementsCheck::class);
78
    }
79
}
80