The last big block of Engineering functions; those involving complex numbers (#2597)

This commit is contained in:
Mark Baker
2022-02-17 15:17:33 +01:00
committed by GitHub
parent 1a4e4ed7c5
commit 03993bce05
30 changed files with 925 additions and 119 deletions
@@ -2,6 +2,7 @@
namespace PhpOffice\PhpSpreadsheetTests\Calculation\Functions\Engineering;
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
use PhpOffice\PhpSpreadsheet\Calculation\Engineering;
use PhpOffice\PhpSpreadsheet\Calculation\Functions;
use PHPUnit\Framework\TestCase;
@@ -31,4 +32,31 @@ class ImaginaryTest extends TestCase
{
return require 'tests/data/Calculation/Engineering/IMAGINARY.php';
}
/**
* @dataProvider providerImaginaryArray
*/
public function testImaginaryArray(array $expectedResult, string $complex): void
{
$calculation = Calculation::getInstance();
$formula = "=IMAGINARY({$complex})";
$result = $calculation->_calculateFormulaValue($formula);
self::assertEquals($expectedResult, $result);
}
public function providerImaginaryArray(): array
{
return [
'row/column vector' => [
[
[-2.5, -2.5, -2.5],
[-1.0, -1.0, -1.0],
[1.0, 1.0, 1.0],
[2.5, 2.5, 2.5],
],
'{"-1-2.5i", "-2.5i", "1-2.5i"; "-1-i", "-i", "1-i"; "-1+i", "i", "1+1"; "-1+2.5i", "+2.5i", "1+2.5i"}',
],
];
}
}