Add AddressHelper::convertFormulaToA1 tests for SpreadsheetXML
This commit is contained in:
parent
f15de096b5
commit
62d3a56a57
|
|
@ -48,7 +48,7 @@ class AddressHelper
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a formula that uses R1C1 format cell address to an A1 format cell address.
|
* Converts a formula that uses R1C1/SpreadsheetXML format cell address to an A1 format cell address.
|
||||||
*/
|
*/
|
||||||
public static function convertFormulaToA1(
|
public static function convertFormulaToA1(
|
||||||
string $formula,
|
string $formula,
|
||||||
|
|
|
||||||
|
|
@ -109,4 +109,19 @@ class AddressHelperTest extends TestCase
|
||||||
{
|
{
|
||||||
return require 'tests/data/Cell/A1ConversionToR1C1Exception.php';
|
return require 'tests/data/Cell/A1ConversionToR1C1Exception.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider providerConvertFormulaToA1SpreadsheetXml
|
||||||
|
*/
|
||||||
|
public function testConvertFormulaToA1SpreadsheetXml(string $expectedValue, string $formula): void
|
||||||
|
{
|
||||||
|
$actualValue = AddressHelper::convertFormulaToA1($formula);
|
||||||
|
|
||||||
|
self::assertSame($expectedValue, $actualValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function providerConvertFormulaToA1SpreadsheetXml(): array
|
||||||
|
{
|
||||||
|
return require 'tests/data/Cell/ConvertFormulaToA1SpreadsheetXml.php';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
['=B4+C4', 'of:=[.B4]+[.C4]'],
|
||||||
|
['=SUM(B1:B4)', 'of:=SUM([.B1:.B4])'],
|
||||||
|
['=CONCAT("Result of formula expression =[.B4]+[.C4] is: ", B4+C4)', 'of:=CONCAT("Result of formula expression =[.B4]+[.C4] is: ", [.B4]+[.C4])'],
|
||||||
|
];
|
||||||
Loading…
Reference in New Issue