Failed Conditions
Push — develop ( 00003f...12bf08 )
by Adrien
28:26
created

DataSeriesValuesTest::testFillColorInvalidInput()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Chart;
4
5
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
6
use PhpOffice\PhpSpreadsheet\Exception;
7
use PHPUnit\Framework\TestCase;
8
9
class DataSeriesValuesTest extends TestCase
10
{
11
    public function testSetDataType()
12
    {
13
        $dataTypeValues = [
14
            'Number',
15
            'String',
16
        ];
17
18
        $testInstance = new DataSeriesValues();
19
20
        foreach ($dataTypeValues as $dataTypeValue) {
21
            $result = $testInstance->setDataType($dataTypeValue);
22
            self::assertInstanceOf(DataSeriesValues::class, $result);
23
        }
24
    }
25
26
    public function testSetInvalidDataTypeThrowsException()
27
    {
28
        $testInstance = new DataSeriesValues();
29
30
        try {
31
            $testInstance->setDataType('BOOLEAN');
32
        } catch (Exception $e) {
33
            self::assertEquals($e->getMessage(), 'Invalid datatype for chart data series values');
34
35
            return;
36
        }
37
        $this->fail('An expected exception has not been raised.');
38
    }
39
40
    public function testGetDataType()
41
    {
42
        $dataTypeValue = 'String';
43
44
        $testInstance = new DataSeriesValues();
45
        $testInstance->setDataType($dataTypeValue);
46
47
        $result = $testInstance->getDataType();
48
        self::assertEquals($dataTypeValue, $result);
49
    }
50
51
    public function testGetLineWidth()
52
    {
53
        $testInstance = new DataSeriesValues();
54
        self::assertEquals(12700, $testInstance->getLineWidth(), 'should have default');
55
56
        $testInstance->setLineWidth(40000);
57
        self::assertEquals(40000, $testInstance->getLineWidth());
58
59
        $testInstance->setLineWidth(1);
60
        self::assertEquals(12700, $testInstance->getLineWidth(), 'should enforce minimum width');
61
    }
62
63
    public function testFillColorCorrectInput()
64
    {
65
        $testInstance = new DataSeriesValues();
66
67
        self::assertEquals($testInstance, $testInstance->setFillColor('00abb8'));
68
        self::assertEquals($testInstance, $testInstance->setFillColor(['00abb8', 'b8292f']));
69
    }
70
71
    public function testFillColorInvalidInput()
72
    {
73
        $testInstance = new DataSeriesValues();
74
        $this->expectException(\Exception::class);
75
        $this->expectExceptionMessage('Invalid hex color for chart series');
76
77
        $testInstance->setFillColor('WRONG COLOR');
78
    }
79
80
    public function testFillColorInvalidInputInArray()
81
    {
82
        $testInstance = new DataSeriesValues();
83
        $this->expectException(\Exception::class);
84
        $this->expectExceptionMessage('Invalid hex color for chart series (color: "WRONG COLOR")');
85
86
        $testInstance->setFillColor(['b8292f', 'WRONG COLOR']);
87
    }
88
}
89