diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-05-11 22:25:02 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-05-11 23:21:21 +0200 |
commit | 5d7251c7121cee8885fa9f2387c4a0625dd4ecee (patch) | |
tree | 2c7653675a46ef0782303e0eeb735f73dab0f965 /sc | |
parent | 2009af1c0fb4fead653dd7688347c15d74eaa1b0 (diff) |
sc_ucalc: remove duplicated method
Change-Id: I720c40bfc218b3f442217d3bb7189fce1baaf4a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115449
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/qa/unit/ucalc.cxx | 35 | ||||
-rw-r--r-- | sc/qa/unit/ucalc.hxx | 33 | ||||
-rw-r--r-- | sc/qa/unit/ucalc_formula.cxx | 66 | ||||
-rw-r--r-- | sc/qa/unit/ucalc_pivottable.cxx | 53 | ||||
-rw-r--r-- | sc/qa/unit/ucalc_sharedformula.cxx | 90 | ||||
-rw-r--r-- | sc/qa/unit/ucalc_sort.cxx | 64 |
6 files changed, 153 insertions, 188 deletions
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx index 2774772365b1..46220aa76f55 100644 --- a/sc/qa/unit/ucalc.cxx +++ b/sc/qa/unit/ucalc.cxx @@ -924,12 +924,11 @@ struct HoriIterCheck const char* pVal; }; -template<size_t Size> -bool checkHorizontalIterator(ScDocument& rDoc, const char* pData[][Size], size_t nDataCount, const HoriIterCheck* pChecks, size_t nCheckCount) +bool checkHorizontalIterator(ScDocument& rDoc, const std::vector<std::vector<const char*>>& rData, const HoriIterCheck* pChecks, size_t nCheckCount) { ScAddress aPos(0,0,0); - Test::insertRangeData(&rDoc, aPos, pData, nDataCount); - ScHorizontalCellIterator aIter(rDoc, 0, 0, 0, 1, nDataCount-1); + Test::insertRangeData(&rDoc, aPos, rData); + ScHorizontalCellIterator aIter(rDoc, 0, 0, 0, 1, rData.size() - 1); SCCOL nCol; SCROW nRow; @@ -974,7 +973,7 @@ void Test::testHorizontalIterator() { // Raw data - mixed types - const char* aData[][2] = { + std::vector<std::vector<const char*>> aData = { { "A", "B" }, { "C", "1" }, { "D", "2" }, @@ -993,7 +992,7 @@ void Test::testHorizontalIterator() }; bool bRes = checkHorizontalIterator( - *m_pDoc, aData, SAL_N_ELEMENTS(aData), aChecks, SAL_N_ELEMENTS(aChecks)); + *m_pDoc, aData, aChecks, SAL_N_ELEMENTS(aChecks)); if (!bRes) CPPUNIT_FAIL("Failed on test mixed."); @@ -1001,7 +1000,7 @@ void Test::testHorizontalIterator() { // Raw data - 'hole' data - const char* aData[][2] = { + std::vector<std::vector<const char*>> aData = { { "A", "B" }, { "C", nullptr }, { "D", "E" }, @@ -1016,7 +1015,7 @@ void Test::testHorizontalIterator() }; bool bRes = checkHorizontalIterator( - *m_pDoc, aData, SAL_N_ELEMENTS(aData), aChecks, SAL_N_ELEMENTS(aChecks)); + *m_pDoc, aData, aChecks, SAL_N_ELEMENTS(aChecks)); if (!bRes) CPPUNIT_FAIL("Failed on test hole."); @@ -1024,7 +1023,7 @@ void Test::testHorizontalIterator() { // Very holy data - const char* aData[][2] = { + std::vector<std::vector<const char*>> aData = { { nullptr, "A" }, { nullptr, nullptr }, { nullptr, "1" }, @@ -1049,7 +1048,7 @@ void Test::testHorizontalIterator() }; bool bRes = checkHorizontalIterator( - *m_pDoc, aData, SAL_N_ELEMENTS(aData), aChecks, SAL_N_ELEMENTS(aChecks)); + *m_pDoc, aData, aChecks, SAL_N_ELEMENTS(aChecks)); if (!bRes) CPPUNIT_FAIL("Failed on test holy."); @@ -1057,14 +1056,14 @@ void Test::testHorizontalIterator() { // Degenerate case - const char* aData[][2] = { + std::vector<std::vector<const char*>> aData = { { nullptr, nullptr }, { nullptr, nullptr }, { nullptr, nullptr }, }; bool bRes = checkHorizontalIterator( - *m_pDoc, aData, SAL_N_ELEMENTS(aData), nullptr, 0); + *m_pDoc, aData, nullptr, 0); if (!bRes) CPPUNIT_FAIL("Failed on test degenerate."); @@ -1072,7 +1071,7 @@ void Test::testHorizontalIterator() { // Data at end - const char* aData[][2] = { + std::vector<std::vector<const char*>> aData = { { nullptr, nullptr }, { nullptr, nullptr }, { nullptr, "A" }, @@ -1083,7 +1082,7 @@ void Test::testHorizontalIterator() }; bool bRes = checkHorizontalIterator( - *m_pDoc, aData, SAL_N_ELEMENTS(aData), aChecks, SAL_N_ELEMENTS(aChecks)); + *m_pDoc, aData, aChecks, SAL_N_ELEMENTS(aChecks)); if (!bRes) CPPUNIT_FAIL("Failed on test at end."); @@ -1091,7 +1090,7 @@ void Test::testHorizontalIterator() { // Data in middle - const char* aData[][2] = { + std::vector<std::vector<const char*>> aData = { { nullptr, nullptr }, { nullptr, nullptr }, { nullptr, "A" }, @@ -1105,7 +1104,7 @@ void Test::testHorizontalIterator() }; bool bRes = checkHorizontalIterator( - *m_pDoc, aData, SAL_N_ELEMENTS(aData), aChecks, SAL_N_ELEMENTS(aChecks)); + *m_pDoc, aData, aChecks, SAL_N_ELEMENTS(aChecks)); if (!bRes) CPPUNIT_FAIL("Failed on test in middle."); @@ -11693,7 +11692,7 @@ void Test::testFormulaToValue() m_pDoc->InsertTab(0, "Test"); - const char* aData[][3] = { + std::vector<std::vector<const char*>> aData = { { "=1", "=RC[-1]*2", "=ISFORMULA(RC[-1])" }, { "=2", "=RC[-1]*2", "=ISFORMULA(RC[-1])" }, { "=3", "=RC[-1]*2", "=ISFORMULA(RC[-1])" }, @@ -11703,7 +11702,7 @@ void Test::testFormulaToValue() }; ScAddress aPos(1,2,0); // B3 - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); { diff --git a/sc/qa/unit/ucalc.hxx b/sc/qa/unit/ucalc.hxx index 5a0b1e2c5b5b..c265ca13db67 100644 --- a/sc/qa/unit/ucalc.hxx +++ b/sc/qa/unit/ucalc.hxx @@ -73,39 +73,6 @@ public: static ScRange insertRangeData(ScDocument* pDoc, const ScAddress& rPos, const std::vector<std::vector<const char*>>& rData); - template <size_t Size> - static ScRange insertRangeData(ScDocument* pDoc, const ScAddress& rPos, - const char* aData[][Size], size_t nRowCount) - { - ScRange aRange(rPos); - aRange.aEnd.SetCol(rPos.Col() + Size - 1); - aRange.aEnd.SetRow(rPos.Row() + nRowCount - 1); - - clearRange(pDoc, aRange); - - for (size_t i = 0; i < Size; ++i) - { - for (size_t j = 0; j < nRowCount; ++j) - { - if (!aData[j][i]) - continue; - - SCCOL nCol = i + rPos.Col(); - SCROW nRow = j + rPos.Row(); - OUString aStr(aData[j][i], strlen(aData[j][i]), RTL_TEXTENCODING_UTF8); - - ScSetStringParam aParam; // Leave default. - aParam.meStartListening = sc::NoListening; - pDoc->SetString(nCol, nRow, rPos.Tab(), aStr, &aParam); - } - } - - pDoc->StartAllListeners(aRange); - - printRange(pDoc, aRange, "Range data content"); - return aRange; - } - Test(); virtual ~Test() override; diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx index 30ece5cd5116..93cd3b5f24d9 100644 --- a/sc/qa/unit/ucalc_formula.cxx +++ b/sc/qa/unit/ucalc_formula.cxx @@ -4591,7 +4591,7 @@ void Test::testFuncCOUNTBLANK() sc::AutoCalcSwitch aACSwitch(*m_pDoc, true); // turn auto calc on. m_pDoc->InsertTab(0, "Formula"); - const char* aData[][4] = { + std::vector<std::vector<const char*>> aData = { { "1", nullptr, "=B1", "=\"\"" }, { "2", nullptr, "=B2", "=\"\"" }, { "A", nullptr, "=B3", "=\"\"" }, @@ -4601,7 +4601,7 @@ void Test::testFuncCOUNTBLANK() }; ScAddress aPos(0,0,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); CPPUNIT_ASSERT_EQUAL(1.0, m_pDoc->GetValue(ScAddress(0,5,0))); @@ -4613,7 +4613,7 @@ void Test::testFuncCOUNTBLANK() clearSheet(m_pDoc, 0); - const char* aData2[][2] = { + std::vector<std::vector<const char*>> aData2 = { { "1", "=COUNTBLANK(A1)" }, { "A", "=COUNTBLANK(A2)" }, { nullptr, "=COUNTBLANK(A3)" }, @@ -4621,7 +4621,7 @@ void Test::testFuncCOUNTBLANK() { "=A4" , "=COUNTBLANK(A5)" }, }; - aRange = insertRangeData(m_pDoc, aPos, aData2, SAL_N_ELEMENTS(aData2)); + aRange = insertRangeData(m_pDoc, aPos, aData2); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); CPPUNIT_ASSERT_EQUAL(0.0, m_pDoc->GetValue(ScAddress(1,0,0))); @@ -5149,14 +5149,14 @@ void Test::testFuncIF() // references, data in A5:C8, matrix formula in D4 so there is no // implicit intersection between formula and ranges. { - const char* aData[][3] = { + std::vector<std::vector<const char*>> aData = { { "1", "1", "16" }, { "0", "1", "32" }, { "1", "0", "64" }, { "0", "0", "128" } }; ScAddress aPos(0,4,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); } m_pDoc->InsertMatrixFormula(3,3, 3,3, aMark, "=SUM(IF(A5:A8;IF(B5:B8;C5:C8;0);0))"); @@ -5270,7 +5270,7 @@ void Test::testFuncIFERROR() } const SCCOL nCols = 3; - const char* aData2[][nCols] = { + std::vector<std::vector<const char*>> aData2 = { { "1", "2", "3" }, { "4", "=1/0", "6" }, { "7", "8", "9" } @@ -5283,7 +5283,7 @@ void Test::testFuncIFERROR() // Data in C1:E3 ScAddress aPos(2,0,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData2, SAL_N_ELEMENTS(aData2)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData2); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); // Array formula in F4:H6 @@ -5712,7 +5712,7 @@ void Test::testFuncVLOOKUP() // scalar value parameter in a function that has a ReferenceOrForceArray // type parameter somewhere else and formula is not in array mode, // VLOOKUP(Value;ReferenceOrForceArray;...) - const char* aData2[][5] = { + std::vector<std::vector<const char*>> aData2 = { { "1", "one", "3", "=VLOOKUP(C21:C24;A21:B24;2;0)", "three" }, { "2", "two", "1", "=VLOOKUP(C21:C24;A21:B24;2;0)", "one" }, { "3", "three", "4", "=VLOOKUP(C21:C24;A21:B24;2;0)", "four" }, @@ -5720,11 +5720,11 @@ void Test::testFuncVLOOKUP() }; ScAddress aPos2(0,20,0); - ScRange aRange2 = insertRangeData(m_pDoc, aPos2, aData2, SAL_N_ELEMENTS(aData2)); + ScRange aRange2 = insertRangeData(m_pDoc, aPos2, aData2); CPPUNIT_ASSERT_EQUAL(aPos2, aRange2.aStart); aPos2.SetCol(3); // column D formula results - for (size_t i=0; i < SAL_N_ELEMENTS(aData2); ++i) + for (size_t i=0; i < aData2.size(); ++i) { CPPUNIT_ASSERT_EQUAL( OUString::createFromAscii( aData2[i][4]), m_pDoc->GetString(aPos2)); aPos2.IncRow(); @@ -5991,7 +5991,7 @@ void Test::testFuncDATEDIF() CPPUNIT_ASSERT_MESSAGE ("failed to insert sheet", m_pDoc->InsertTab (0, "foo")); - const char* aData[][5] = { + std::vector<std::vector<const char*>> aData = { { "2007-01-01", "2007-01-10", "d", "9", "=DATEDIF(A1;B1;C1)" } , { "2007-01-01", "2007-01-31", "m", "0", "=DATEDIF(A2;B2;C2)" } , { "2007-01-01", "2007-02-01", "m", "1", "=DATEDIF(A3;B3;C3)" } , @@ -6009,14 +6009,14 @@ void Test::testFuncDATEDIF() { "2007-01-02", "2007-01-01", "md", "Err:502", "=DATEDIF(A15;B15;C15)" } // fail date1 > date2 }; - clearRange( m_pDoc, ScRange(0, 0, 0, 4, SAL_N_ELEMENTS(aData), 0)); + clearRange( m_pDoc, ScRange(0, 0, 0, 4, aData.size(), 0)); ScAddress aPos(0,0,0); - ScRange aDataRange = insertRangeData( m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData( m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); m_pDoc->CalcAll(); - for (size_t i = 0; i < SAL_N_ELEMENTS(aData); ++i) + for (size_t i = 0; i < aData.size(); ++i) { OUString aVal = m_pDoc->GetString( 4, i, 0); //std::cout << "row "<< i << ": " << OUStringToOString( aVal, RTL_TEXTENCODING_UTF8).getStr() << ", expected " << aData[i][3] << std::endl; @@ -6350,13 +6350,13 @@ void Test::testFormulaDepTracking3() m_pDoc->InsertTab(0, "Formula"); - const char* pData[][4] = { + std::vector<std::vector<const char*>> aData = { { "1", "2", "=SUM(A1:B1)", "=SUM(C1:C3)" }, { "3", "4", "=SUM(A2:B2)", nullptr }, { "5", "6", "=SUM(A3:B3)", nullptr }, }; - insertRangeData(m_pDoc, ScAddress(0,0,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(0,0,0), aData); // Check the initial formula results. CPPUNIT_ASSERT_EQUAL( 3.0, m_pDoc->GetValue(ScAddress(2,0,0))); @@ -6432,7 +6432,7 @@ void Test::testFormulaDepTrackingDeleteCol() m_pDoc->InsertTab(0, "Formula"); - const char* aData[][3] = { + std::vector<std::vector<const char*>> aData = { { "2", "=A1", "=B1" }, // not grouped { nullptr, nullptr, nullptr }, // empty row to separate the formula groups. { "3", "=A3", "=B3" }, // grouped @@ -6440,7 +6440,7 @@ void Test::testFormulaDepTrackingDeleteCol() }; ScAddress aPos(0,0,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); // Check the initial values. @@ -6959,7 +6959,7 @@ void Test::testExternalRefUnresolved() // Test error propagation of unresolved (not existing document) external // references. Well, let's hope no build machine has such file with sheet... - const char* aData[][1] = { + std::vector<std::vector<const char*>> aData = { { "='file:///NonExistingFilePath/AnyName.ods'#$NoSuchSheet.A1" }, { "='file:///NonExistingFilePath/AnyName.ods'#$NoSuchSheet.A1+23" }, { "='file:///NonExistingFilePath/AnyName.ods'#$NoSuchSheet.A1&\"W\"" }, @@ -6991,7 +6991,7 @@ void Test::testExternalRefUnresolved() }; ScAddress aPos(0,0,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); std::vector<std::vector<const char*>> aOutputCheck = { @@ -7159,14 +7159,14 @@ void Test::testFuncFORMULA() m_pDoc->InsertTab(0, "Sheet1"); // Data in B1:D3 - const char* aData[][3] = { + std::vector<std::vector<const char*>> aData = { { "=A1", "=FORMULA(B1)", "=FORMULA(B1:B3)" }, { nullptr, "=FORMULA(B2)", "=FORMULA(B1:B3)" }, { "=A3", "=FORMULA(B3)", "=FORMULA(B1:B3)" }, }; ScAddress aPos(1,0,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); // Checks of C1:D3, where Cy==Dy, and D4:D6 @@ -7215,14 +7215,14 @@ void Test::testFuncTableRef() { // Populate "table" database range with headers and data in A1:B4 - const char* aData[][2] = { + std::vector<std::vector<const char*>> aData = { { "Header1", "Header2" }, { "1", "2" }, { "4", "8" }, { "16", "32" } }; ScAddress aPos(0,0,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); } @@ -7342,7 +7342,7 @@ void Test::testFuncTableRef() // inserted column, B1:B4 plus a table formula in B6. The empty header // should result in the internal table column name "Column2" that is // used in the formula. - const char* aData[][1] = { + std::vector<std::vector<const char*>> aData = { { "" }, { "64" }, { "128" }, @@ -7351,7 +7351,7 @@ void Test::testFuncTableRef() { pColumn2Formula } }; ScAddress aPos(1,0,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); } @@ -7393,13 +7393,13 @@ void Test::testFuncTableRef() { // Populate "hltable" database range with data in E10:F12 - const char* aData[][2] = { + std::vector<std::vector<const char*>> aData = { { "1", "2" }, { "4", "8" }, { "16", "32" } }; ScAddress aPos(4,9,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); } @@ -7516,7 +7516,7 @@ void Test::testFuncTableRef() // column, F10:F12 plus a table formula in F14. The new header should // result in the internal table column name "Column3" that is used in // the formula. - const char* aData[][1] = { + std::vector<std::vector<const char*>> aData = { { "64" }, { "128" }, { "256" }, @@ -7524,7 +7524,7 @@ void Test::testFuncTableRef() { pColumn3Formula } }; ScAddress aPos(5,9,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); } @@ -8723,7 +8723,7 @@ void Test::testMatConcat() } { // Data in A12:B16 - const char* aData[][2] = { + std::vector<std::vector<const char*>> aData = { { "q", "w" }, { "a", "" }, { "", "x" }, @@ -8732,7 +8732,7 @@ void Test::testMatConcat() }; ScAddress aPos(0,11,0); - ScRange aRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aRange.aStart); } // Matrix formula in C17:C21 diff --git a/sc/qa/unit/ucalc_pivottable.cxx b/sc/qa/unit/ucalc_pivottable.cxx index 218e8e9dc942..027074cc4e2e 100644 --- a/sc/qa/unit/ucalc_pivottable.cxx +++ b/sc/qa/unit/ucalc_pivottable.cxx @@ -775,7 +775,7 @@ void Test::testPivotTableCache() m_pDoc->InsertTab(0, "Data"); // Raw data - const char* aData[][3] = { + const std::vector<std::vector<const char*>> aData = { { "F1", "F2", "F3" }, { "Z", "A", "30" }, { "R", "A", "20" }, @@ -786,7 +786,7 @@ void Test::testPivotTableCache() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); ScDPCache aCache(*m_pDoc); @@ -981,7 +981,7 @@ void Test::testPivotTableDuplicateDataFields() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Value" }, { "A", "45" }, { "A", "5" }, @@ -1003,7 +1003,7 @@ void Test::testPivotTableDuplicateDataFields() }; ScAddress aPos(2,2,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); ScDPObject* pDPObj = createDPFromRange( @@ -1076,7 +1076,7 @@ void Test::testPivotTableNormalGrouping() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Value" }, { "A", "1" }, { "B", "2" }, @@ -1094,7 +1094,7 @@ void Test::testPivotTableNormalGrouping() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); ScDPObject* pDPObj = createDPFromRange( @@ -1225,7 +1225,7 @@ void Test::testPivotTableNumberGrouping() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Order", "Score" }, { "43", "171" }, { "18", "20" }, @@ -1254,7 +1254,7 @@ void Test::testPivotTableNumberGrouping() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); ScDPObject* pDPObj = createDPFromRange( @@ -1318,7 +1318,7 @@ void Test::testPivotTableDateGrouping() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Date", "Value" }, { "2011-01-01", "1" }, { "2011-03-02", "2" }, @@ -1337,7 +1337,7 @@ void Test::testPivotTableDateGrouping() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); ScDPObject* pDPObj = createDPFromRange( @@ -1490,7 +1490,7 @@ void Test::testPivotTableEmptyRows() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Value" }, { "A", "1" }, { "B", "2" }, @@ -1505,7 +1505,7 @@ void Test::testPivotTableEmptyRows() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); // Extend the range downward to include some trailing empty rows. @@ -1704,7 +1704,7 @@ void Test::testPivotTableCaseInsensitiveStrings() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Value" }, { "A", "1" }, { "a", "2" }, @@ -1717,7 +1717,7 @@ void Test::testPivotTableCaseInsensitiveStrings() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); ScDPObject* pDPObj = createDPFromRange( @@ -1757,7 +1757,7 @@ void Test::testPivotTableNumStability() FormulaGrammarSwitch aFGSwitch(m_pDoc, formula::FormulaGrammar::GRAM_ENGLISH_XL_R1C1); // Raw Data - const char* aData[][4] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Time Start", "Time End", "Total" }, { "Sam", "07:48 AM", "09:00 AM", "=RC[-1]-RC[-2]" }, { "Sam", "09:00 AM", "10:30 AM", "=RC[-1]-RC[-2]" }, @@ -1793,9 +1793,8 @@ void Test::testPivotTableNumStability() m_pDoc->InsertTab(0, "Data"); m_pDoc->InsertTab(1, "Table"); - size_t const nRowCount = SAL_N_ELEMENTS(aData); ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, nRowCount); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); // Insert formulas to manually calculate sums for each name. m_pDoc->SetString(aDataRange.aStart.Col(), aDataRange.aEnd.Row()+1, aDataRange.aStart.Tab(), "=SUMIF(R[-23]C:R[-1]C;\"Dennis\";R[-23]C[3]:R[-1]C[3])"); @@ -1861,7 +1860,7 @@ void Test::testPivotTableFieldReference() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Value" }, { "A", "1" }, { "B", "2" }, @@ -1876,7 +1875,7 @@ void Test::testPivotTableFieldReference() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); ScDPObject* pDPObj = createDPFromRange( @@ -2027,7 +2026,7 @@ void Test::testPivotTableDocFunc() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Value" }, { "Sun", "1" }, { "Oracle", "2" }, @@ -2044,7 +2043,7 @@ void Test::testPivotTableDocFunc() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); std::unique_ptr<ScDPObject> pDPObj(createDPFromRange( @@ -2095,7 +2094,7 @@ void Test::testFuncGETPIVOTDATA() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Value" }, { "A", "1" }, { "A", "2" }, @@ -2106,7 +2105,7 @@ void Test::testFuncGETPIVOTDATA() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); ScDPObject* pDPObj = nullptr; @@ -2251,7 +2250,7 @@ void Test::testFuncGETPIVOTDATALeafAccess() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][3] = { + const std::vector<std::vector<const char*>> aData = { { "Type", "Member", "Value" }, { "A", "Anna", "1" }, { "B", "Brittany", "2" }, @@ -2260,7 +2259,7 @@ void Test::testFuncGETPIVOTDATALeafAccess() }; ScAddress aPos(1,1,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); ScDPObject* pDPObj = nullptr; @@ -2504,7 +2503,7 @@ void Test::testPivotTableMedianFunc() m_pDoc->InsertTab(1, "Table"); // Raw data - const char* aData[][4] = { + const std::vector<std::vector<const char*>> aData = { { "Condition", "Day1Hit", "Day1Miss", "Day1FalseAlarm" }, { "False Memory", "7", "3", "0" }, { "Control", "10", "0", "1" }, @@ -2535,7 +2534,7 @@ void Test::testPivotTableMedianFunc() }; ScAddress aPos(1, 1, 0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); std::unique_ptr<ScDPObject> pDPObj(createDPFromRange( diff --git a/sc/qa/unit/ucalc_sharedformula.cxx b/sc/qa/unit/ucalc_sharedformula.cxx index 20d111b3e2cd..3efd3fc448a3 100644 --- a/sc/qa/unit/ucalc_sharedformula.cxx +++ b/sc/qa/unit/ucalc_sharedformula.cxx @@ -280,12 +280,12 @@ void Test::testSharedFormulas() aPos.Set(2,0,0); { // Insert data in C1:D2 and formulas in E1:E2 - const char* pData[][3] = { + const std::vector<std::vector<const char*>> aData = { { "5", "1", "=C:C/D:D" }, { "4", "2", "=C:C/D:D" } }; - insertRangeData(m_pDoc, aPos, pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, aPos, aData); } aPos.Set(4,1,0); pFC = m_pDoc->GetFormulaCell(aPos); @@ -315,13 +315,13 @@ void Test::testSharedFormulasRefUpdate() { // Insert formulas that reference A10:A12 in B1:B3. - const char* pData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "=A10" }, { "=A11" }, { "=A12" } }; - insertRangeData(m_pDoc, ScAddress(1,0,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(1,0,0), aData); } ASSERT_FORMULA_EQUAL(*m_pDoc, ScAddress(1,0,0), "A10", "Wrong formula in B1"); @@ -455,14 +455,14 @@ void Test::testSharedFormulasRefUpdateMove() CPPUNIT_ASSERT_EQUAL(2.0, m_pDoc->GetValue(ScAddress(1,2,0))); CPPUNIT_ASSERT_EQUAL(3.0, m_pDoc->GetValue(ScAddress(1,3,0))); - const char* aData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "=RC[-1]" }, { "=RC[-1]" }, { "=RC[-1]" } }; // Set formulas in C2:C4 that reference B2:B4 individually. - insertRangeData(m_pDoc, ScAddress(2,1,0), aData, SAL_N_ELEMENTS(aData)); + insertRangeData(m_pDoc, ScAddress(2,1,0), aData); // Check the formula results. CPPUNIT_ASSERT_EQUAL(1.0, m_pDoc->GetValue(ScAddress(2,1,0))); @@ -522,13 +522,13 @@ void Test::testSharedFormulasRefUpdateMove2() { // Set formulas in C2:C3 that reference B2:B3 individually, and F2:F3 to E2:E3. - const char* pData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "=RC[-1]" }, { "=RC[-1]" } }; - insertRangeData(m_pDoc, ScAddress(2,1,0), pData, SAL_N_ELEMENTS(pData)); - insertRangeData(m_pDoc, ScAddress(5,1,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(2,1,0), aData); + insertRangeData(m_pDoc, ScAddress(5,1,0), aData); } m_pDoc->CalcFormulaTree(); // calculate manually. @@ -583,13 +583,13 @@ void Test::testSharedFormulasRefUpdateRange() { // Insert formulas to B3:B5. - const char* pData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "=SUM($A$3:$A$5)" }, { "=SUM($A$3:$A$5)" }, { "=SUM($A$3:$A$5)" } }; - insertRangeData(m_pDoc, ScAddress(1,2,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(1,2,0), aData); } ASSERT_FORMULA_EQUAL(*m_pDoc, ScAddress(1,2,0), "SUM($A$3:$A$5)", "Wrong formula"); @@ -665,7 +665,7 @@ void Test::testSharedFormulasRefUpdateRangeDeleteRow() ScRange aWholeArea(0, 0, 0, 100, 100, 0); // Large enough for all references used in the test. - const char* aData[][3] = { + const std::vector<std::vector<const char*>> aData = { { "1", "2", "=SUM(A1:B1)" }, { "3", "4", "=SUM(A2:B2)" }, { nullptr, nullptr, nullptr }, @@ -673,7 +673,7 @@ void Test::testSharedFormulasRefUpdateRangeDeleteRow() { "7", "8", "=SUM(A5:B5)" } }; - insertRangeData(m_pDoc, ScAddress(0,0,0), aData, SAL_N_ELEMENTS(aData)); + insertRangeData(m_pDoc, ScAddress(0,0,0), aData); // Check initial formula values. CPPUNIT_ASSERT_EQUAL( 3.0, m_pDoc->GetValue(ScAddress(2,0,0))); @@ -800,14 +800,14 @@ void Test::testSharedFormulasRefUpdateExternal() { // Insert formula cells in A7:A10 of the host document, referencing A1:A3 // of the external document. - const char* pData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "='file:///extdata.fake'#$Data.A1" }, { "='file:///extdata.fake'#$Data.A2" }, { "='file:///extdata.fake'#$Data.A3" }, { "=COUNTA('file:///extdata.fake'#$Data.A1:A3)" } }; - insertRangeData(m_pDoc, ScAddress(0,6,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(0,6,0), aData); } // Check the formula results. @@ -926,14 +926,14 @@ void Test::testSharedFormulasInsertRow() { // Set formula cells in B1:B4 all referencing A4 as absolute reference. - const char* pData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "=$A$4" }, { "=$A$4" }, { "=$A$4" }, { "=$A$4" } }; - insertRangeData(m_pDoc, ScAddress(1,0,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(1,0,0), aData); } // Insert a new row at row 3. @@ -969,7 +969,7 @@ void Test::testSharedFormulasDeleteRows() { // Fill data cells A1:A20 and formula cells B1:B20. Formulas in // B1:B10 and B11:B20 should be different. - const char* pData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "0", "=RC[-1]+1" }, { "1", "=RC[-1]+1" }, { "2", "=RC[-1]+1" }, @@ -992,7 +992,7 @@ void Test::testSharedFormulasDeleteRows() { "19", "=RC[-1]+11" } }; - insertRangeData(m_pDoc, ScAddress(0,0,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(0,0,0), aData); } // B1:B10 should be shared. @@ -1698,13 +1698,13 @@ void Test::testSharedFormulaAbsCellListener() m_pDoc->SetValue(ScAddress(0,0,0), 1.0); - const char* pData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "=$A$1" }, { "=$A$1" }, { "=$A$1" } }; - insertRangeData(m_pDoc, ScAddress(1,0,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(1,0,0), aData); // A1 should have 3 listeners listening into it. const SvtBroadcaster* pBC = m_pDoc->GetBroadcaster(ScAddress(0,0,0)); @@ -1747,14 +1747,14 @@ void Test::testSharedFormulaUnshareAreaListeners() m_pDoc->InsertTab(0, "Test"); - const char* pData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "=SUM(B1:B2)", "1" }, { "=SUM(B2:B3)", "2" }, { "=SUM(B3:B4)", "4" }, { nullptr, "8" } }; - insertRangeData(m_pDoc, ScAddress(0,0,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(0,0,0), aData); // Check that A1:A3 is a formula group. const ScFormulaCell* pFC = m_pDoc->GetFormulaCell(ScAddress(0,0,0)); @@ -1775,14 +1775,14 @@ void Test::testSharedFormulaUnshareAreaListeners() { // Data in A2:C6 const ScAddress aOrgPos(0,1,0); - const char* pData2[][3] = { + const std::vector<std::vector<const char*>> aData2 = { { "=SUM(B2:C2)", "1", "2" }, { "=SUM(B3:C3)", "4", "8" }, { "=SUM(B4:C4)", "16", "32" }, { "=SUM(B5:C5)", "64", "128" }, { "=SUM(B6:C6)", "256", "512" }, }; - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Check that A2:A6 is a formula group. pFC = m_pDoc->GetFormulaCell(aOrgPos); @@ -1875,7 +1875,7 @@ void Test::testSharedFormulaUnshareAreaListeners() ScAddress aPos( ScAddress::UNINITIALIZED); ScFormulaCell* pCell; std::vector<ScFormulaCell*> aCells; - const char* pData2[][3] = { + const std::vector<std::vector<const char*>> aData2 = { { "=SUM(B3:C3)", "1", "2" }, { "=SUM(B4:C4)", "4", "8" }, { "=SUM(B5:C5)", "16", "32" }, @@ -1883,7 +1883,7 @@ void Test::testSharedFormulaUnshareAreaListeners() { "=SUM(B7:C7)", "256", "512" }, }; - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Add grouping formulas in A1:A2, keep A3:A7 aPos = ScAddress(0,0,0); @@ -1908,7 +1908,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Add formulas in A1:A2, keep A3:A7 aPos = ScAddress(0,0,0); @@ -1939,7 +1939,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Add formula in A2, overwrite A3, keep A4:A7 aPos = ScAddress(0,1,0); @@ -1970,7 +1970,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Overwrite A3:A4, keep A5:A7 aPos = ScAddress(0,2,0); @@ -2002,7 +2002,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Keep A3, overwrite A4:A5, keep A6:A7 aPos = ScAddress(0,3,0); @@ -2038,7 +2038,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Keep A3:A4, overwrite A5:A6, keep A7 aPos = ScAddress(0,4,0); @@ -2074,7 +2074,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Keep A3:A5, overwrite A6:A7 aPos = ScAddress(0,5,0); @@ -2106,7 +2106,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Keep A3:A6, overwrite A7, add A8 aPos = ScAddress(0,6,0); @@ -2138,7 +2138,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Keep A3:A7, add A8:A9 aPos = ScAddress(0,7,0); @@ -2170,7 +2170,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Keep A3:A7, add grouping formulas in A8:A9 aPos = ScAddress(0,7,0); @@ -2196,7 +2196,7 @@ void Test::testSharedFormulaUnshareAreaListeners() clearRange(m_pDoc, ScRange( 0,0,0, 2,8,0)); - insertRangeData(m_pDoc, aOrgPos, pData2, SAL_N_ELEMENTS(pData2)); + insertRangeData(m_pDoc, aOrgPos, aData2); // Overwrite grouping formulas in A4:A5 aPos = ScAddress(0,3,0); @@ -2233,17 +2233,17 @@ void Test::testSharedFormulaListenerDeleteArea() m_pDoc->InsertTab(0, "Test0"); m_pDoc->InsertTab(1, "Test1"); - const char* pData0[][3] = { + const std::vector<std::vector<const char*>> aData0 = { { "", "", "=Test1.C1" }, { "", "", "=Test1.C2" } }; - const char* pData1[][3] = { + const std::vector<std::vector<const char*>> aData1 = { { "=Test0.A1", "=Test0.B1", "=SUM(A1:B1)" }, { "=Test0.A2", "=Test0.B2", "=SUM(A2:B2)" }, }; - insertRangeData(m_pDoc, ScAddress(0,0,0), pData0, SAL_N_ELEMENTS(pData0)); - insertRangeData(m_pDoc, ScAddress(0,0,1), pData1, SAL_N_ELEMENTS(pData1)); + insertRangeData(m_pDoc, ScAddress(0,0,0), aData0); + insertRangeData(m_pDoc, ScAddress(0,0,1), aData1); // Check that Test1.A1:A2 and Test1.B1:B2 are formula groups. const ScFormulaCell* pFC = m_pDoc->GetFormulaCell(ScAddress(0,0,1)); @@ -2276,7 +2276,7 @@ void Test::testSharedFormulaUpdateOnReplacement() m_pDoc->InsertTab(0, "Test"); - const char* pData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "1" }, { "=SUM($A$1:$A1)" }, { "=SUM($A$1:$A2)" }, @@ -2287,7 +2287,7 @@ void Test::testSharedFormulaUpdateOnReplacement() { "=SUM($A$1:$A7)" } }; - insertRangeData(m_pDoc, ScAddress(0,0,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData(m_pDoc, ScAddress(0,0,0), aData); // Check that A2:A8 is a formula group. const ScFormulaCell* pFC = m_pDoc->GetFormulaCell(ScAddress(0,1,0)); @@ -2431,12 +2431,12 @@ void Test::testSharedFormulaDeleteTopCell() m_pDoc->InsertTab(0, "Test"); - const char* pData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "=SUM(B$1:B$2)", "1" }, { "=SUM(B$1:B$2)", "2" } }; - insertRangeData( m_pDoc, ScAddress(0,0,0), pData, SAL_N_ELEMENTS(pData)); + insertRangeData( m_pDoc, ScAddress(0,0,0), aData); // Check that A1:A2 is a formula group. const ScFormulaCell* pFC = m_pDoc->GetFormulaCell( ScAddress(0,0,0)); diff --git a/sc/qa/unit/ucalc_sort.cxx b/sc/qa/unit/ucalc_sort.cxx index d63bab256367..8ff3cf58e60d 100644 --- a/sc/qa/unit/ucalc_sort.cxx +++ b/sc/qa/unit/ucalc_sort.cxx @@ -42,15 +42,15 @@ void Test::testSort() ScAddress aPos(0,0,0); { - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "2", "4" }, { "4", "1" }, { "1", "2" }, { "1", "23" }, }; - clearRange(m_pDoc, ScRange(0, 0, 0, 1, SAL_N_ELEMENTS(aData), 0)); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + clearRange(m_pDoc, ScRange(0, 0, 0, 1, aData.size(), 0)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); } @@ -82,7 +82,7 @@ void Test::testSort() clearRange(m_pDoc, ScRange(0, 0, 0, 1, 9, 0)); // Clear A1:B10. { // 0 = empty cell - const char* aData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "Title" }, { nullptr }, { nullptr }, @@ -93,7 +93,7 @@ void Test::testSort() { "123" } }; - aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); } @@ -141,7 +141,7 @@ void Test::testSortHorizontal() // Test case from fdo#78079. // 0 = empty cell - const char* aData[][4] = { + const std::vector<std::vector<const char*>> aData = { { "table", "has UNIQUE", "Publish to EC2", "flag" }, { "w2gi.mobilehit", "Yes", "No", "=CONCATENATE(B2;\"-\";C2)" }, { "w2gi.visitors", "No", "No", "=CONCATENATE(B3;\"-\";C3)" }, @@ -149,7 +149,7 @@ void Test::testSortHorizontal() }; // Insert raw data into A1:D4. - ScRange aDataRange = insertRangeData(m_pDoc, ScAddress(0,0,0), aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, ScAddress(0,0,0), aData); CPPUNIT_ASSERT_EQUAL(OUString("A1:D4"), aDataRange.Format(*m_pDoc, ScRefFlags::VALID)); // Check the formula values. @@ -204,12 +204,12 @@ void Test::testSortHorizontalWholeColumn() m_pDoc->InsertTab(0, "Sort"); // 0 = empty cell - const char* aData[][5] = { + const std::vector<std::vector<const char*>> aData = { { "4", "2", "47", "a", "9" } }; // Insert row data to C1:G1. - ScRange aSortRange = insertRangeData(m_pDoc, ScAddress(2,0,0), aData, SAL_N_ELEMENTS(aData)); + ScRange aSortRange = insertRangeData(m_pDoc, ScAddress(2,0,0), aData); CPPUNIT_ASSERT_EQUAL(4.0, m_pDoc->GetValue(ScAddress(2,0,0))); CPPUNIT_ASSERT_EQUAL(2.0, m_pDoc->GetValue(ScAddress(3,0,0))); CPPUNIT_ASSERT_EQUAL(47.0, m_pDoc->GetValue(ScAddress(4,0,0))); @@ -1040,7 +1040,7 @@ void Test::testSortRefUpdate4_Impl() m_pDoc->InsertTab(2, "Lesson2"); { - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Note" }, { "Student1", "1" }, { "Student2", "2" }, @@ -1051,13 +1051,13 @@ void Test::testSortRefUpdate4_Impl() SCTAB nTab = 1; ScAddress aPos(0,0,nTab); - clearRange(m_pDoc, ScRange(0, 0, nTab, 1, SAL_N_ELEMENTS(aData), nTab)); - ScRange aLesson1Range = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + clearRange(m_pDoc, ScRange(0, 0, nTab, 1, aData.size(), nTab)); + ScRange aLesson1Range = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aLesson1Range.aStart); } { - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Note" }, { "=Lesson1.A2", "3" }, { "=Lesson1.A3", "4" }, @@ -1068,14 +1068,14 @@ void Test::testSortRefUpdate4_Impl() SCTAB nTab = 2; ScAddress aPos(0,0,nTab); - clearRange(m_pDoc, ScRange(0, 0, nTab, 1, SAL_N_ELEMENTS(aData), nTab)); - ScRange aLesson2Range = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + clearRange(m_pDoc, ScRange(0, 0, nTab, 1, aData.size(), nTab)); + ScRange aLesson2Range = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aLesson2Range.aStart); } ScRange aSortRange; { - const char* aData[][4] = { + const std::vector<std::vector<const char*>> aData = { { "Name", "Lesson1", "Lesson2", "Average" }, { "=Lesson1.A2", "=Lesson1.B2", "=Lesson2.B2", "=AVERAGE(B2:C2)" }, { "=Lesson1.A3", "=Lesson1.B3", "=Lesson2.B3", "=AVERAGE(B3:C3)" }, @@ -1086,8 +1086,8 @@ void Test::testSortRefUpdate4_Impl() SCTAB nTab = 0; ScAddress aPos(0,0,nTab); - clearRange(m_pDoc, ScRange(0, 0, nTab, 1, SAL_N_ELEMENTS(aData), nTab)); - aSortRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + clearRange(m_pDoc, ScRange(0, 0, nTab, 1, aData.size(), nTab)); + aSortRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aSortRange.aStart); } @@ -1241,7 +1241,7 @@ void Test::testSortRefUpdate5() }; ScRange aSortRange; { - const char* aData[][3] = { + const std::vector<std::vector<const char*>> aData = { { "Date", "Volatile", "Order" }, { "1999-05-05", "=TODAY()-$A2", "4" }, { "1994-10-18", "=TODAY()-$A3", "1" }, @@ -1251,8 +1251,8 @@ void Test::testSortRefUpdate5() SCTAB nTab = 0; ScAddress aPos(0,0,nTab); - clearRange(m_pDoc, ScRange(0, 0, nTab, 2, SAL_N_ELEMENTS(aData), nTab)); - aSortRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + clearRange(m_pDoc, ScRange(0, 0, nTab, 2, aData.size(), nTab)); + aSortRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aSortRange.aStart); // Actual results and expected sorted results. @@ -1335,7 +1335,7 @@ void Test::testSortRefUpdate6() sc::AutoCalcSwitch aACSwitch(*m_pDoc, true); // turn auto calc on. m_pDoc->InsertTab(0, "Sort"); - const char* aData[][3] = { + const std::vector<std::vector<const char*>> aData = { { "Order", "Value", "1" }, { "9", "1", "=C1+B2" }, { "1", "2", "=C2+B3" }, @@ -1343,7 +1343,7 @@ void Test::testSortRefUpdate6() }; ScAddress aPos(0,0,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aDataRange.aStart); { @@ -1474,13 +1474,13 @@ void Test::testSortBroadcaster() m_pDoc->InsertTab(0, "Sort"); { - const char* aData[][7] = { + const std::vector<std::vector<const char*>> aData = { { "1", nullptr, nullptr, "=B1", "=$B$1", "=SUM(A1:B1)", "=SUM($A$1:$B$1)" }, { "2", "8", nullptr, "=B2", "=$B$2", "=SUM(A2:B2)", "=SUM($A$2:$B$2)" }, }; ScAddress aPos(0,0,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aDataRange.aStart); { @@ -1561,7 +1561,7 @@ void Test::testSortBroadcaster() // The same for sort by column. Start data at A5. { - const char* aData[][2] = { + const std::vector<std::vector<const char*>> aData = { { "1", "2" }, { nullptr, "8" }, { nullptr, nullptr }, @@ -1572,7 +1572,7 @@ void Test::testSortBroadcaster() }; ScAddress aPos(0,4,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aDataRange.aStart); { @@ -1674,13 +1674,13 @@ void Test::testSortBroadcastBroadcaster() m_pDoc->InsertTab(0, "Sort"); { - const char* aData[][3] = { + const std::vector<std::vector<const char*>> aData = { { "1", "=A1", "=B1" }, { "2", "=A2", "=B2" }, }; ScAddress aPos(0,0,0); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL(aPos, aDataRange.aStart); { @@ -1892,13 +1892,13 @@ void Test::testSortImages() ScAddress aPos(0,0,0); { - const char* aData[][1] = { + const std::vector<std::vector<const char*>> aData = { { "2" }, { "1" }, }; - clearRange(m_pDoc, ScRange(0, 0, 0, 1, SAL_N_ELEMENTS(aData), 0)); - ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData, SAL_N_ELEMENTS(aData)); + clearRange(m_pDoc, ScRange(0, 0, 0, 1, aData.size(), 0)); + ScRange aDataRange = insertRangeData(m_pDoc, aPos, aData); CPPUNIT_ASSERT_EQUAL_MESSAGE("failed to insert range data at correct position", aPos, aDataRange.aStart); } |