Passed
Push — master ( c456fa...94124a )
by Gabriel
11:31
created

ValidatorTest::test_cif()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 3
c 1
b 0
f 1
nc 1
nop 2
dl 0
loc 5
rs 10
1
<?php
2
3
namespace ByTIC\Validator\Tests\Utility;
4
5
use ByTIC\Validator\Tests\AbstractTest;
6
use ByTIC\Validator\Utility\Validator;
7
8
/**
9
 * Class ValidatorTest
10
 * @package ByTIC\Validator\Tests\Utility
11
 */
12
class ValidatorTest extends AbstractTest
13
{
14
    /**
15
     * @param $cif
16
     * @param $isValid
17
     * @dataProvider cifDataProvider
18
     */
19
    public function test_cif($cif, $isValid)
20
    {
21
        $violations = Validator::cif($cif);
22
        $validationResult = count($violations) == 0;
23
        self::assertSame($isValid, $validationResult, "CIF [$cif] does not validate");
24
    }
25
26
    /**
27
     * @return array
28
     */
29
    public function cifDataProvider()
30
    {
31
        return [
32
            #CIF, isValid
33
            [null, true],
34
            [false, false],
35
            [true, false],
36
            [0, false],
37
            ['0', false],
38
            ['', true],
39
            ['   ', false],
40
            [-1, false],
41
            [1, false],
42
            [999999999999, false],
43
            ['10', false],
44
            ['xxx', false],
45
            ['-1a', false],
46
            ['-1', false],
47
            // some real CIF
48
            [9010105, true],    # ORANGE ROMANIA SA - http://www.mfinante.gov.ro/infocodfiscal.html?cod=9010105
49
            ['RO 9010105', true],
50
            [5888716, true],    # RCS & RDS SA - http://www.mfinante.gov.ro/infocodfiscal.html?cod=5888716
51
            ['R5888716', false],
52
            [8971726, true],    # VODAFONE ROMANIA SA - http://www.mfinante.gov.ro/infocodfiscal.html?cod=8971726
53
            ['89717 26', false],
54
            [159, true],        # FRIGOTEHNICA SRL - http://www.mfinante.gov.ro/infocodfiscal.html?cod=159
55
            ['RO159', true],
56
            [19, true],         # BUCUR OBOR S.A - http://www.mfinante.gov.ro/infocodfiscal.html?cod=19
57
            [' 19 ', true],
58
            ['32586219', true],
59
        ];
60
    }
61
}
62
63