Completed
Push — master ( e8fccd...9c2126 )
by Harry
02:44
created

NumberValueParserTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Graze\CsvToken\Test\Unit\ValueParser;
4
5
use Graze\CsvToken\Test\TestCase;
6
use Graze\CsvToken\ValueParser\NumberValueParser;
7
8
class NumberValueParserTest extends TestCase
9
{
10
    /** @var NumberValueParser */
11
    private $parser;
12
13
    public function setUp()
14
    {
15
        $this->parser = new NumberValueParser();
16
    }
17
18
    /**
19
     * @dataProvider canParseData
20
     *
21
     * @param string $string
22
     * @param bool   $expected
23
     */
24
    public function testCanParseValue($string, $expected)
25
    {
26
        static::assertEquals($expected, $this->parser->canParseValue($string));
27
    }
28
29
    /**
30
     * @return array
31
     */
32
    public function canParseData()
33
    {
34
        return [
35
            ['1', true],
36
            ['1.2', true],
37
            ['-1', true],
38
            ['string', false],
39
            ['null', false],
40
            ['1.2e-12', true],
41
            ['4763894692379379723479327842', true],
42
            ['0.000000000001231312', true],
43
            ['some string', false],
44
            ['string12345', false],
45
            ['12345string', false],
46
            ['123,123,123.01', false],
47
        ];
48
    }
49
50
    /**
51
     * @dataProvider parseData
52
     *
53
     * @param string $string
54
     * @param mixed  $expected
55
     */
56
    public function testParseValue($string, $expected)
57
    {
58
        static::assertEquals($expected, $this->parser->parseValue($string));
59
    }
60
61
    /**
62
     * @return array
63
     */
64
    public function parseData()
65
    {
66
        return [
67
            ['1', true],
68
            ['1.2', 1.2],
69
            ['-1', -1],
70
            ['1.2e-12', 1.2e-12],
71
            ['4763894692379379723479327842', 4763894692379379723479327842],
72
            ['0.000000000001231312', 0.000000000001231312],
73
            ['123,123,123.01', 123123123.01],
74
        ];
75
    }
76
}
77