PhpSpreadsheet/tests/PhpSpreadsheetTests/Calculation/Functions/DateTime/DayTest.php

58 lines
1.8 KiB
PHP

<?php
namespace PhpOffice\PhpSpreadsheetTests\Calculation\Functions\DateTime;
use PhpOffice\PhpSpreadsheet\Calculation\DateTime;
use PhpOffice\PhpSpreadsheet\Calculation\Functions;
use PhpOffice\PhpSpreadsheet\Shared\Date;
use PHPUnit\Framework\TestCase;
class DayTest extends TestCase
{
private $compatibilityMode;
private $returnDateType;
private $excelCalendar;
protected function setUp(): void
{
$this->compatibilityMode = Functions::getCompatibilityMode();
$this->returnDateType = Functions::getReturnDateType();
$this->excelCalendar = Date::getExcelCalendar();
Functions::setCompatibilityMode(Functions::COMPATIBILITY_EXCEL);
Functions::setReturnDateType(Functions::RETURNDATE_EXCEL);
Date::setExcelCalendar(Date::CALENDAR_WINDOWS_1900);
}
protected function tearDown(): void
{
Functions::setCompatibilityMode($this->compatibilityMode);
Functions::setReturnDateType($this->returnDateType);
Date::setExcelCalendar($this->excelCalendar);
}
/**
* @dataProvider providerDAY
*
* @param mixed $expectedResultExcel
* @param mixed $expectedResultOpenOffice
* @param $dateTimeValue
*/
public function testDAY($expectedResultExcel, $expectedResultOpenOffice, $dateTimeValue): void
{
$resultExcel = DateTime::DAYOFMONTH($dateTimeValue);
self::assertEqualsWithDelta($expectedResultExcel, $resultExcel, 1E-8);
Functions::setCompatibilityMode(Functions::COMPATIBILITY_OPENOFFICE);
$resultOpenOffice = DateTime::DAYOFMONTH($dateTimeValue);
self::assertEqualsWithDelta($expectedResultOpenOffice, $resultOpenOffice, 1E-8);
}
public function providerDAY()
{
return require 'tests/data/Calculation/DateTime/DAY.php';
}
}