Minor scrutinizer improvements (#1906)

* Minor scrutinizer improvements
* Minor typing improvements
This commit is contained in:
Mark Baker 2021-03-07 14:22:03 +01:00 committed by GitHub
parent 2d8c8c8ecf
commit c4ed0ee7b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 55 additions and 24 deletions

View File

@ -26,9 +26,13 @@ class AddressHelperTest extends TestCase
/** /**
* @dataProvider providerR1C1ConversionToA1Relative * @dataProvider providerR1C1ConversionToA1Relative
*/ */
public function testR1C1ConversionToA1Relative(string $expectedValue, string $address, ?int $row = null, ?int $column = null): void public function testR1C1ConversionToA1Relative(
{ string $expectedValue,
$args = [$address]; string $address,
?int $row = null,
?int $column = null
): void {
$args = [];
if ($row !== null) { if ($row !== null) {
$args[] = $row; $args[] = $row;
} }
@ -36,7 +40,7 @@ class AddressHelperTest extends TestCase
$args[] = $column; $args[] = $column;
} }
$actualValue = AddressHelper::convertToA1(...$args); $actualValue = AddressHelper::convertToA1($address, ...$args);
self::assertSame($expectedValue, $actualValue); self::assertSame($expectedValue, $actualValue);
} }

View File

@ -232,10 +232,11 @@ class CoordinateTest extends TestCase
* @dataProvider providerBuildRange * @dataProvider providerBuildRange
* *
* @param mixed $expectedResult * @param mixed $expectedResult
* @param mixed $rangeSets
*/ */
public function testBuildRange($expectedResult, ...$args): void public function testBuildRange($expectedResult, $rangeSets): void
{ {
$result = Coordinate::buildRange(...$args); $result = Coordinate::buildRange($rangeSets);
self::assertEquals($expectedResult, $result); self::assertEquals($expectedResult, $result);
} }
@ -248,7 +249,16 @@ class CoordinateTest extends TestCase
{ {
$this->expectException(TypeError::class); $this->expectException(TypeError::class);
$cellRange = ''; $cellRange = null;
Coordinate::buildRange($cellRange);
}
public function testBuildRangeInvalid2(): void
{
$this->expectException(Exception::class);
$this->expectExceptionMessage('Range does not contain any information');
$cellRange = [];
Coordinate::buildRange($cellRange); Coordinate::buildRange($cellRange);
} }
@ -342,10 +352,11 @@ class CoordinateTest extends TestCase
* @dataProvider providerMergeRangesInCollection * @dataProvider providerMergeRangesInCollection
* *
* @param mixed $expectedResult * @param mixed $expectedResult
* @param mixed $rangeSets
*/ */
public function testMergeRangesInCollection($expectedResult, ...$args): void public function testMergeRangesInCollection($expectedResult, $rangeSets): void
{ {
$result = Coordinate::mergeRangesInCollection(...$args); $result = Coordinate::mergeRangesInCollection($rangeSets);
self::assertEquals($expectedResult, $result); self::assertEquals($expectedResult, $result);
} }

View File

@ -12,10 +12,11 @@ class CodePageTest extends TestCase
* @dataProvider providerCodePage * @dataProvider providerCodePage
* *
* @param mixed $expectedResult * @param mixed $expectedResult
* @param mixed $codePageIndex
*/ */
public function testCodePageNumberToName($expectedResult, ...$args): void public function testCodePageNumberToName($expectedResult, $codePageIndex): void
{ {
$result = CodePage::numberToName(...$args); $result = CodePage::numberToName($codePageIndex);
self::assertEquals($expectedResult, $result); self::assertEquals($expectedResult, $result);
} }

View File

@ -39,7 +39,7 @@ class DateTest extends TestCase
public function testSetExcelCalendarWithInvalidValue(): void public function testSetExcelCalendarWithInvalidValue(): void
{ {
$unsupportedCalendar = '2012'; $unsupportedCalendar = 2012;
$result = Date::setExcelCalendar($unsupportedCalendar); $result = Date::setExcelCalendar($unsupportedCalendar);
self::assertFalse($result); self::assertFalse($result);
} }
@ -48,15 +48,16 @@ class DateTest extends TestCase
* @dataProvider providerDateTimeExcelToTimestamp1900 * @dataProvider providerDateTimeExcelToTimestamp1900
* *
* @param mixed $expectedResult * @param mixed $expectedResult
* @param mixed $excelDateTimeValue
*/ */
public function testDateTimeExcelToTimestamp1900($expectedResult, ...$args): void public function testDateTimeExcelToTimestamp1900($expectedResult, $excelDateTimeValue): void
{ {
if (is_numeric($expectedResult) && ($expectedResult > PHP_INT_MAX || $expectedResult < PHP_INT_MIN)) { if (is_numeric($expectedResult) && ($expectedResult > PHP_INT_MAX || $expectedResult < PHP_INT_MIN)) {
self::markTestSkipped('Test invalid on 32-bit system.'); self::markTestSkipped('Test invalid on 32-bit system.');
} }
Date::setExcelCalendar(Date::CALENDAR_WINDOWS_1900); Date::setExcelCalendar(Date::CALENDAR_WINDOWS_1900);
$result = Date::excelToTimestamp(...$args); $result = Date::excelToTimestamp($excelDateTimeValue);
self::assertEquals($expectedResult, $result); self::assertEquals($expectedResult, $result);
} }
@ -69,12 +70,13 @@ class DateTest extends TestCase
* @dataProvider providerDateTimeTimestampToExcel1900 * @dataProvider providerDateTimeTimestampToExcel1900
* *
* @param mixed $expectedResult * @param mixed $expectedResult
* @param mixed $unixTimestamp
*/ */
public function testDateTimeTimestampToExcel1900($expectedResult, ...$args): void public function testDateTimeTimestampToExcel1900($expectedResult, $unixTimestamp): void
{ {
Date::setExcelCalendar(Date::CALENDAR_WINDOWS_1900); Date::setExcelCalendar(Date::CALENDAR_WINDOWS_1900);
$result = Date::timestampToExcel(...$args); $result = Date::timestampToExcel($unixTimestamp);
self::assertEqualsWithDelta($expectedResult, $result, 1E-5); self::assertEqualsWithDelta($expectedResult, $result, 1E-5);
} }
@ -87,12 +89,13 @@ class DateTest extends TestCase
* @dataProvider providerDateTimeDateTimeToExcel * @dataProvider providerDateTimeDateTimeToExcel
* *
* @param mixed $expectedResult * @param mixed $expectedResult
* @param mixed $dateTimeObject
*/ */
public function testDateTimeDateTimeToExcel($expectedResult, ...$args): void public function testDateTimeDateTimeToExcel($expectedResult, $dateTimeObject): void
{ {
Date::setExcelCalendar(Date::CALENDAR_WINDOWS_1900); Date::setExcelCalendar(Date::CALENDAR_WINDOWS_1900);
$result = Date::dateTimeToExcel(...$args); $result = Date::dateTimeToExcel($dateTimeObject);
self::assertEqualsWithDelta($expectedResult, $result, 1E-5); self::assertEqualsWithDelta($expectedResult, $result, 1E-5);
} }
@ -123,15 +126,16 @@ class DateTest extends TestCase
* @dataProvider providerDateTimeExcelToTimestamp1904 * @dataProvider providerDateTimeExcelToTimestamp1904
* *
* @param mixed $expectedResult * @param mixed $expectedResult
* @param mixed $excelDateTimeValue
*/ */
public function testDateTimeExcelToTimestamp1904($expectedResult, ...$args): void public function testDateTimeExcelToTimestamp1904($expectedResult, $excelDateTimeValue): void
{ {
if (is_numeric($expectedResult) && ($expectedResult > PHP_INT_MAX || $expectedResult < PHP_INT_MIN)) { if (is_numeric($expectedResult) && ($expectedResult > PHP_INT_MAX || $expectedResult < PHP_INT_MIN)) {
self::markTestSkipped('Test invalid on 32-bit system.'); self::markTestSkipped('Test invalid on 32-bit system.');
} }
Date::setExcelCalendar(Date::CALENDAR_MAC_1904); Date::setExcelCalendar(Date::CALENDAR_MAC_1904);
$result = Date::excelToTimestamp(...$args); $result = Date::excelToTimestamp($excelDateTimeValue);
self::assertEquals($expectedResult, $result); self::assertEquals($expectedResult, $result);
} }
@ -144,12 +148,13 @@ class DateTest extends TestCase
* @dataProvider providerDateTimeTimestampToExcel1904 * @dataProvider providerDateTimeTimestampToExcel1904
* *
* @param mixed $expectedResult * @param mixed $expectedResult
* @param mixed $unixTimestamp
*/ */
public function testDateTimeTimestampToExcel1904($expectedResult, ...$args): void public function testDateTimeTimestampToExcel1904($expectedResult, $unixTimestamp): void
{ {
Date::setExcelCalendar(Date::CALENDAR_MAC_1904); Date::setExcelCalendar(Date::CALENDAR_MAC_1904);
$result = Date::timestampToExcel(...$args); $result = Date::timestampToExcel($unixTimestamp);
self::assertEqualsWithDelta($expectedResult, $result, 1E-5); self::assertEqualsWithDelta($expectedResult, $result, 1E-5);
} }
@ -178,15 +183,17 @@ class DateTest extends TestCase
* @dataProvider providerDateTimeExcelToTimestamp1900Timezone * @dataProvider providerDateTimeExcelToTimestamp1900Timezone
* *
* @param mixed $expectedResult * @param mixed $expectedResult
* @param mixed $excelDateTimeValue
* @param mixed $timezone
*/ */
public function testDateTimeExcelToTimestamp1900Timezone($expectedResult, ...$args): void public function testDateTimeExcelToTimestamp1900Timezone($expectedResult, $excelDateTimeValue, $timezone): void
{ {
if (is_numeric($expectedResult) && ($expectedResult > PHP_INT_MAX || $expectedResult < PHP_INT_MIN)) { if (is_numeric($expectedResult) && ($expectedResult > PHP_INT_MAX || $expectedResult < PHP_INT_MIN)) {
self::markTestSkipped('Test invalid on 32-bit system.'); self::markTestSkipped('Test invalid on 32-bit system.');
} }
Date::setExcelCalendar(Date::CALENDAR_WINDOWS_1900); Date::setExcelCalendar(Date::CALENDAR_WINDOWS_1900);
$result = Date::excelToTimestamp(...$args); $result = Date::excelToTimestamp($excelDateTimeValue, $timezone);
self::assertEquals($expectedResult, $result); self::assertEquals($expectedResult, $result);
} }
@ -202,29 +209,37 @@ class DateTest extends TestCase
self::assertTrue((bool) Date::stringToExcel('2019-02-28')); self::assertTrue((bool) Date::stringToExcel('2019-02-28'));
self::assertTrue((bool) Date::stringToExcel('2019-02-28 11:18')); self::assertTrue((bool) Date::stringToExcel('2019-02-28 11:18'));
self::assertFalse(Date::stringToExcel('2019-02-28 11:71')); self::assertFalse(Date::stringToExcel('2019-02-28 11:71'));
$date = Date::PHPToExcel('2020-01-01'); $date = Date::PHPToExcel('2020-01-01');
self::assertEquals(43831.0, $date); self::assertEquals(43831.0, $date);
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet(); $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$sheet = $spreadsheet->getActiveSheet(); $sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('B1', 'x'); $sheet->setCellValue('B1', 'x');
$val = $sheet->getCell('B1')->getValue(); $val = $sheet->getCell('B1')->getValue();
self::assertFalse(Date::timestampToExcel($val)); self::assertFalse(Date::timestampToExcel($val));
$cell = $sheet->getCell('A1'); $cell = $sheet->getCell('A1');
self::assertNotNull($cell); self::assertNotNull($cell);
$cell->setValue($date); $cell->setValue($date);
$sheet->getStyle('A1') $sheet->getStyle('A1')
->getNumberFormat() ->getNumberFormat()
->setFormatCode(NumberFormat::FORMAT_DATE_DATETIME); ->setFormatCode(NumberFormat::FORMAT_DATE_DATETIME);
self::assertTrue(null !== $cell && Date::isDateTime($cell)); self::assertTrue(null !== $cell && Date::isDateTime($cell));
$cella2 = $sheet->getCell('A2'); $cella2 = $sheet->getCell('A2');
self::assertNotNull($cella2); self::assertNotNull($cella2);
$cella2->setValue('=A1+2'); $cella2->setValue('=A1+2');
$sheet->getStyle('A2') $sheet->getStyle('A2')
->getNumberFormat() ->getNumberFormat()
->setFormatCode(NumberFormat::FORMAT_DATE_DATETIME); ->setFormatCode(NumberFormat::FORMAT_DATE_DATETIME);
self::assertTrue(null !== $cella2 && Date::isDateTime($cella2)); self::assertTrue(null !== $cella2 && Date::isDateTime($cella2));
$cella3 = $sheet->getCell('A3'); $cella3 = $sheet->getCell('A3');
self::assertNotNull($cella3); self::assertNotNull($cella3);
$cella3->setValue('=A1+4'); $cella3->setValue('=A1+4');
$sheet->getStyle('A3') $sheet->getStyle('A3')
->getNumberFormat() ->getNumberFormat()