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
|
|
|
|