12#include <com/sun/star/sheet/XArrayFormulaRange.hpp>
13#include <com/sun/star/sheet/XCellRangeAddressable.hpp>
14#include <com/sun/star/sheet/XSpreadsheet.hpp>
15#include <com/sun/star/table/CellRangeAddress.hpp>
16#include <com/sun/star/table/XCell.hpp>
17#include <com/sun/star/uno/Reference.hxx>
19#include <cppunit/TestAssert.h>
28 uno::Reference<sheet::XArrayFormulaRange> xAFR(
init(), UNO_QUERY_THROW);
30 static constexpr OUStringLiteral
sFormula(
u"=1 + 2 * 5");
33 uno::Reference<sheet::XCellRangeAddressable> xCRA(xAFR, UNO_QUERY_THROW);
34 table::CellRangeAddress cellRangeAddress = xCRA->getRangeAddress();
36 uno::Reference<sheet::XSpreadsheet> xSheet(
getXSpreadsheet(), UNO_QUERY_THROW);
38 for (
auto i = cellRangeAddress.StartColumn;
i <= cellRangeAddress.EndColumn;
i++)
40 for (
auto j = cellRangeAddress.StartRow; j <= cellRangeAddress.EndRow; j++)
42 uno::Reference<table::XCell> xCell = xSheet->getCellByPosition(
i, j);
43 CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE(
"Value of Cell " + std::to_string(
i) +
","
45 11.0, xCell->getValue(), 0.5);
49 CPPUNIT_ASSERT_EQUAL_MESSAGE(
"Unable to test getArrayFormula()", OUString(
"{" +
sFormula +
"}"),
50 xAFR->getArrayFormula());