ValidatorTest::cifDataProvider()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 30
Code Lines 26

Duplication

Lines 0
Ratio 0 %

Importance

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