PhpSpreadsheet/tests/PhpSpreadsheetTests/Chart/DataSeriesValuesTest.php

89 lines
2.6 KiB
PHP
Raw Normal View History

<?php
namespace PhpOffice\PhpSpreadsheetTests\Chart;
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
use PhpOffice\PhpSpreadsheet\Exception;
use PHPUnit\Framework\TestCase;
class DataSeriesValuesTest extends TestCase
{
2020-05-18 04:49:57 +00:00
public function testSetDataType(): void
2015-05-17 13:00:02 +00:00
{
$dataTypeValues = [
2015-05-17 13:00:02 +00:00
'Number',
'String',
];
2015-05-17 13:00:02 +00:00
$testInstance = new DataSeriesValues();
2015-05-17 13:00:02 +00:00
foreach ($dataTypeValues as $dataTypeValue) {
$result = $testInstance->setDataType($dataTypeValue);
2017-12-06 09:46:31 +00:00
self::assertInstanceOf(DataSeriesValues::class, $result);
2015-05-17 13:00:02 +00:00
}
}
2020-05-18 04:49:57 +00:00
public function testSetInvalidDataTypeThrowsException(): void
2015-05-17 13:00:02 +00:00
{
$testInstance = new DataSeriesValues();
2015-05-17 13:00:02 +00:00
try {
2016-08-26 06:05:40 +00:00
$testInstance->setDataType('BOOLEAN');
} catch (Exception $e) {
self::assertEquals($e->getMessage(), 'Invalid datatype for chart data series values');
2015-05-17 13:00:02 +00:00
return;
}
2020-05-18 04:49:57 +00:00
self::fail('An expected exception has not been raised.');
2015-05-17 13:00:02 +00:00
}
2020-05-18 04:49:57 +00:00
public function testGetDataType(): void
2015-05-17 13:00:02 +00:00
{
$dataTypeValue = 'String';
$testInstance = new DataSeriesValues();
2016-08-26 06:05:40 +00:00
$testInstance->setDataType($dataTypeValue);
2015-05-17 13:00:02 +00:00
$result = $testInstance->getDataType();
self::assertEquals($dataTypeValue, $result);
2015-05-17 13:00:02 +00:00
}
2020-05-18 04:49:57 +00:00
public function testGetLineWidth(): void
{
$testInstance = new DataSeriesValues();
self::assertEquals(12700, $testInstance->getLineWidth(), 'should have default');
$testInstance->setLineWidth(40000);
self::assertEquals(40000, $testInstance->getLineWidth());
$testInstance->setLineWidth(1);
self::assertEquals(12700, $testInstance->getLineWidth(), 'should enforce minimum width');
}
2020-05-18 04:49:57 +00:00
public function testFillColorCorrectInput(): void
{
$testInstance = new DataSeriesValues();
self::assertEquals($testInstance, $testInstance->setFillColor('00abb8'));
self::assertEquals($testInstance, $testInstance->setFillColor(['00abb8', 'b8292f']));
}
2020-05-18 04:49:57 +00:00
public function testFillColorInvalidInput(): void
{
$testInstance = new DataSeriesValues();
$this->expectException(\Exception::class);
$this->expectExceptionMessage('Invalid hex color for chart series');
$testInstance->setFillColor('WRONG COLOR');
}
2020-05-18 04:49:57 +00:00
public function testFillColorInvalidInputInArray(): void
{
$testInstance = new DataSeriesValues();
$this->expectException(\Exception::class);
$this->expectExceptionMessage('Invalid hex color for chart series (color: "WRONG COLOR")');
$testInstance->setFillColor(['b8292f', 'WRONG COLOR']);
}
}