Passed
Push — main ( d3f875...6e277c )
by Osvaldo
01:28
created

AmbienteDeTrabajo::obtenerRiesgosCualitativos()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 13
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 13
rs 10
cc 4
nc 3
nop 0
1
<?php
2
namespace src\categorias;
3
4
use Exception;
5
use src\dominios\CondicionesEnElAmbienteDeTrabajo;
6
7
class AmbienteDeTrabajo
8
{
9
    private $_condicionesEnElAmbienteDeTrabajo;
10
    private $_niveles = array(
11
        '0-3' => 'Nulo o despreciable',
12
        '3-5' => 'Bajo',
13
        '5-7' => 'Medio',
14
        '7-9' => 'Alto',
15
        '9-99' => 'Muy alto'
16
    );
17
18
    public function __construct(CondicionesEnElAmbienteDeTrabajo $CondicionesEnElAmbienteDeTrabajo)
19
    {
20
        $this->_condicionesEnElAmbienteDeTrabajo = $CondicionesEnElAmbienteDeTrabajo;
21
    }
22
23
    public function ambienteDeTrabajo(): int
24
    {
25
        return $this->condicionesEnElAmbienteDeTrabajo()->condicionesEnElAmbienteDeTrabajo();
26
    }
27
28
    public function condicionesEnElAmbienteDeTrabajo(): CondicionesEnElAmbienteDeTrabajo
29
    {
30
        return $this->_condicionesEnElAmbienteDeTrabajo;
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->ambienteDeTrabajo() >= $uno && $this->ambienteDeTrabajo() < $dos)
40
            {
41
                return $v;
42
            }
43
        }
44
45
        throw new Exception("Error para obtener riesgo cualitativo", 1);
46
        
47
    }
48
}