Passed
Push — main ( be62d9...6b4ffd )
by Osvaldo
01:37
created

Violencia::obtenerRiesgosCualitativos()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 13
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 6
c 2
b 0
f 0
dl 0
loc 13
rs 10
cc 4
nc 3
nop 0
1
<?php
2
namespace src\dominios;
3
4
use Exception;
5
use src\dimensiones\ViolenciaLaboral;
6
7
class Violencia
8
{
9
    private $_violenciaLaboral;
10
    private $_niveles = array(
11
        '0-7' => 'Nulo o despreciable',
12
        '7-10' => 'Bajo',
13
        '10-13' => 'Medio',
14
        '13-16' => 'Alto',
15
        '16-99' => 'Muy alto'
16
    );
17
18
    public function __construct(ViolenciaLaboral $ViolenciaLaboral)
19
    {
20
        $this->_violenciaLaboral = $ViolenciaLaboral;
21
    }
22
23
    public function violencia(): int
24
    {
25
        return $this->violenciaLaboral()->violenciaLaboral();
26
    }
27
28
    public function violenciaLaboral(): ViolenciaLaboral
29
    {
30
        return $this->_violenciaLaboral;
31
    }
32
33
    public function obtenerRiesgosCualitativos(): string
34
    {
35
        foreach ($this->_niveles as $k => $v)
36
        {
37
            $uno = explode('-',$k)[0];
38
            $dos = explode('-',$k)[1];
39
            if($this->violencia() >= $uno && $this->violencia() < $dos)
40
            {
41
                return $v;
42
            }
43
        }
44
45
        throw new Exception("Error para obtener riesgo cualitativo");
46
    }
47
}