1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 #ifndef INCLUDED_SC_QA_UNIT_UCALC_HXX
11 #define INCLUDED_SC_QA_UNIT_UCALC_HXX
13 #include <test/bootstrapfixture.hxx>
15 #include <document.hxx>
16 #include <stringutil.hxx>
24 * Temporarily set formula grammar.
26 class FormulaGrammarSwitch
29 formula::FormulaGrammar::Grammar
const meOldGrammar
;
31 FormulaGrammarSwitch(ScDocument
* pDoc
, formula::FormulaGrammar::Grammar eGrammar
);
32 ~FormulaGrammarSwitch();
35 class Test
: public test::BootstrapFixture
45 static ScDocShell
* findLoadedDocShellByName(const OUString
& rName
);
46 static bool insertRangeNames(ScDocument
* pDoc
, ScRangeName
* pNames
, const RangeNameDef
* p
, const RangeNameDef
* pEnd
);
47 static void printRange(ScDocument
* pDoc
, const ScRange
& rRange
, const char* pCaption
);
48 static void clearRange(ScDocument
* pDoc
, const ScRange
& rRange
);
49 static void clearSheet(ScDocument
* pDoc
, SCTAB nTab
);
50 static ScUndoCut
* cutToClip(ScDocShell
& rDocSh
, const ScRange
& rRange
, ScDocument
* pClipDoc
, bool bCreateUndo
);
51 static void copyToClip(ScDocument
* pSrcDoc
, const ScRange
& rRange
, ScDocument
* pClipDoc
);
52 static void pasteFromClip(ScDocument
* pDestDoc
, const ScRange
& rDestRange
, ScDocument
* pClipDoc
);
53 static void pasteOneCellFromClip(ScDocument
* pDestDoc
, const ScRange
& rDestRange
, ScDocument
* pClipDoc
, InsertDeleteFlags eFlags
= InsertDeleteFlags::ALL
);
54 static ScUndoPaste
* createUndoPaste(ScDocShell
& rDocSh
, const ScRange
& rRange
, ScDocumentUniquePtr pUndoDoc
);
57 * Enable or disable expand reference options which controls how
58 * references in formula are expanded when inserting rows or columns.
60 static void setExpandRefs(bool bExpand
);
62 static void setCalcAsShown(ScDocument
* pDoc
, bool bCalcAsShown
);
64 void checkPrecisionAsShown( OUString
& rCode
, double fValue
, double fExpectedRoundVal
);
66 static ScRange
insertRangeData(
67 ScDocument
* pDoc
, const ScAddress
& rPos
, const std::vector
<std::vector
<const char*>>& rData
);
70 static ScRange
insertRangeData(
71 ScDocument
* pDoc
, const ScAddress
& rPos
, const char* aData
[][Size
], size_t nRowCount
)
74 aRange
.aEnd
.SetCol(rPos
.Col()+Size
-1);
75 aRange
.aEnd
.SetRow(rPos
.Row()+nRowCount
-1);
77 clearRange(pDoc
, aRange
);
79 for (size_t i
= 0; i
< Size
; ++i
)
81 for (size_t j
= 0; j
< nRowCount
; ++j
)
86 SCCOL nCol
= i
+ rPos
.Col();
87 SCROW nRow
= j
+ rPos
.Row();
88 OUString
aStr(aData
[j
][i
], strlen(aData
[j
][i
]), RTL_TEXTENCODING_UTF8
);
90 ScSetStringParam aParam
; // Leave default.
91 aParam
.meStartListening
= sc::NoListening
;
92 pDoc
->SetString(nCol
, nRow
, rPos
.Tab(), aStr
, &aParam
);
96 pDoc
->StartAllListeners(aRange
);
98 printRange(pDoc
, aRange
, "Range data content");
103 virtual ~Test() override
;
105 ScDocShell
& getDocShell();
107 /** Get a separate new ScDocShell with ScDocument that suits unit test needs. */
108 void getNewDocShell( ScDocShellRef
& rDocShellRef
);
109 /** Close such new ScDocShell. */
110 void closeDocShell( ScDocShellRef
& rDocShellRef
);
112 virtual void setUp() override
;
113 virtual void tearDown() override
;
116 void testSharedStringPool();
117 void testSharedStringPoolUndoDoc();
118 void testRangeList();
121 void testColumnIterator();
122 void testDocStatistics();
123 void testRowForHeight();
126 * The 'data entries' data is a list of strings used for suggestions as
127 * the user types in new cell value.
129 void testDataEntries();
132 * Selection function is responsible for displaying quick calculation
133 * results in the status bar.
135 void testSelectionFunction();
137 void testMarkedCellIteration();
139 void testFormulaCreateStringFromTokens();
140 void testFormulaParseReference();
141 void testFetchVectorRefArray();
142 void testGroupConverter3D();
143 void testFormulaHashAndTag();
144 void testFormulaTokenEquality();
145 void testFormulaRefData();
146 void testFormulaCompiler();
147 void testFormulaCompilerJumpReordering();
148 void testFormulaCompilerImplicitIntersection2Param();
149 void testFormulaCompilerImplicitIntersection1ParamNoChange();
150 void testFormulaCompilerImplicitIntersection1ParamWithChange();
151 void testFormulaCompilerImplicitIntersection1NoGroup();
152 void testFormulaCompilerImplicitIntersectionOperators();
153 void testFormulaRefUpdate();
154 void testFormulaRefUpdateRange();
155 void testFormulaRefUpdateSheets();
156 void testFormulaRefUpdateSheetsDelete();
157 void testFormulaRefUpdateInsertRows();
158 void testFormulaRefUpdateInsertColumns();
159 void testFormulaRefUpdateMove();
160 void testFormulaRefUpdateMoveUndo();
161 void testFormulaRefUpdateMoveUndo2();
162 void testFormulaRefUpdateMoveUndo3NonShared();
163 void testFormulaRefUpdateMoveUndo3Shared();
164 void testFormulaRefUpdateMoveUndoDependents();
165 void testFormulaRefUpdateMoveUndo4();
166 void testFormulaRefUpdateMoveToSheet();
167 void testFormulaRefUpdateDeleteContent();
168 void testFormulaRefUpdateDeleteAndShiftLeft();
169 void testFormulaRefUpdateDeleteAndShiftLeft2();
170 void testFormulaRefUpdateDeleteAndShiftUp();
171 void testFormulaRefUpdateName();
172 void testFormulaRefUpdateNameMove();
173 void testFormulaRefUpdateNameExpandRef();
174 void testFormulaRefUpdateNameExpandRef2();
175 void testFormulaRefUpdateNameDeleteRow();
176 void testFormulaRefUpdateNameCopySheet();
177 void testFormulaRefUpdateNameCopySheetCheckTab( SCTAB Tab
, bool bCheckNames
);
178 void testFormulaRefUpdateNameDelete();
179 void testFormulaRefUpdateValidity();
180 void testTokenArrayRefUpdateMove();
181 void testSingleCellCopyColumnLabel();
182 void testIntersectionOpExcel();
183 void testMultipleOperations();
184 void testFuncCOLUMN();
185 void testFuncCOUNT();
186 void testFuncCOUNTBLANK();
189 void testFuncPRODUCT();
190 void testFuncSUMPRODUCT();
191 void testFuncSUMXMY2();
194 void testFuncCOUNTIF();
195 void testFuncNUMBERVALUE();
197 void testFuncLOOKUP();
198 void testFuncLOOKUParrayWithError();
199 void testFuncVLOOKUP();
200 void testFuncMATCH();
202 void testFuncDATEDIF();
203 void testFuncINDIRECT();
204 void testFuncINDIRECT2();
205 void testFunc_MATCH_INDIRECT();
207 void testFuncCHOOSE();
208 void testFuncIFERROR();
209 void testFuncSHEET();
211 void testFuncGETPIVOTDATA();
212 void testFuncGETPIVOTDATALeafAccess();
214 void testFuncRangeOp();
215 void testFuncFORMULA();
216 void testFuncTableRef();
217 void testFuncFTEST();
218 void testFuncFTESTBug();
219 void testFuncCHITEST();
220 void testFuncTTEST();
221 void testFuncSUMX2PY2();
222 void testFuncSUMX2MY2();
225 void testFuncSUMSQ();
226 void testFuncMDETERM();
227 void testFuncSUMIFS();
228 void testFuncRefListArraySUBTOTAL();
229 void testFuncJumpMatrixArrayIF();
230 void testFuncJumpMatrixArrayOFFSET();
231 void testMatConcat();
232 void testMatConcatReplication();
233 void testRefR1C1WholeCol();
234 void testRefR1C1WholeRow();
235 void testIterations();
237 void testExternalRef();
238 void testExternalRefFunctions();
239 void testExternalRangeName();
240 void testExternalRefUnresolved();
242 void testCopyToDocument();
244 void testHorizontalIterator();
245 void testValueIterator();
246 void testHorizontalAttrIterator();
249 * Basic test for formula dependency tracking.
251 void testFormulaDepTracking();
254 * Another test for formula dependency tracking, inspired by fdo#56278.
256 void testFormulaDepTracking2();
258 void testFormulaDepTracking3();
260 void testFormulaDepTrackingDeleteRow();
262 void testFormulaDepTrackingDeleteCol();
264 void testFormulaMatrixResultUpdate();
267 * More direct test for cell broadcaster management, used to track formula
270 void testCellBroadcaster();
272 void testFuncParam();
273 void testNamedRange();
274 void testInsertNameList();
277 void testMatrixComparisonWithErrors();
278 void testMatrixConditionalBooleanResult();
279 void testEnterMixedMatrix();
280 void testMatrixEditable();
283 * Basic test for pivot tables.
285 void testPivotTable();
288 * Test against unwanted automatic format detection on field names and
289 * field members in pivot tables.
291 void testPivotTableLabels();
294 * Make sure that we set cells displaying date values numeric cells,
295 * rather than text cells. Grouping by date or number functionality
298 void testPivotTableDateLabels();
301 * Test for pivot table's filtering functionality by page fields.
303 void testPivotTableFilters();
306 * Test for pivot table's named source range.
308 void testPivotTableNamedSource();
311 * Test for pivot table cache. Each dimension in the pivot cache stores
312 * only unique values that are sorted in ascending order.
314 void testPivotTableCache();
317 * Test for pivot table containing data fields that reference the same
318 * source field but different functions.
320 void testPivotTableDuplicateDataFields();
322 void testPivotTableNormalGrouping();
323 void testPivotTableNumberGrouping();
324 void testPivotTableDateGrouping();
325 void testPivotTableEmptyRows();
326 void testPivotTableTextNumber();
329 * Test for checking that pivot table treats strings in a case insensitive
332 void testPivotTableCaseInsensitiveStrings();
335 * Test for pivot table's handling of double-precision numbers that are
336 * very close together.
338 void testPivotTableNumStability();
341 * Test for pivot table that include field with various non-default field
344 void testPivotTableFieldReference();
347 * Test pivot table functionality performed via ScDBDocFunc.
349 void testPivotTableDocFunc();
352 * Test pivot table per-field repeat item labels functionality
354 void testPivotTableRepeatItemLabels();
357 * Test DPCollection public methods
359 void testPivotTableDPCollection();
362 * Test pivot table median function
364 void testPivotTableMedianFunc();
367 void testSheetCopy();
368 void testSheetMove();
370 void testAutofilter();
371 void testAutoFilterTimeValue();
372 void testAdvancedFilter();
373 void testCopyPaste();
374 void testCopyPasteAsLink();
375 void testCopyPasteTranspose();
376 void testCopyPasteMultiRange();
377 void testCopyPasteSkipEmpty();
378 void testCopyPasteSkipEmpty2();
379 void testCopyPasteSkipEmptyConditionalFormatting();
380 void testCutPasteRefUndo();
381 void testCutPasteGroupRefUndo();
382 void testMoveRefBetweenSheets();
384 void testMoveBlock();
385 void testCopyPasteRelativeFormula();
386 void testCopyPasteRepeatOneFormula();
387 void testCopyPasteMixedReferenceFormula();
388 void testMergedCells();
389 void testUpdateReference();
390 void testSearchCells();
391 void testSharedFormulas();
392 void testSharedFormulasRefUpdate();
393 void testSharedFormulasRefUpdateMove();
394 void testSharedFormulasRefUpdateMove2();
395 void testSharedFormulasRefUpdateRange();
396 void testSharedFormulasRefUpdateRangeDeleteRow();
397 void testSharedFormulasRefUpdateExternal();
398 void testSharedFormulasInsertRow();
399 void testSharedFormulasDeleteRows();
400 void testSharedFormulasDeleteColumns();
401 void testSharedFormulasRefUpdateMoveSheets();
402 void testSharedFormulasRefUpdateCopySheets();
403 void testSharedFormulasRefUpdateDeleteSheets();
404 void testSharedFormulasCopyPaste();
405 void testSharedFormulaInsertColumn();
406 void testSharedFormulaMoveBlock();
407 void testSharedFormulaUpdateOnNamedRangeChange();
408 void testSharedFormulaUpdateOnDBChange();
409 void testSharedFormulaAbsCellListener();
410 void testSharedFormulaUnshareAreaListeners();
411 void testSharedFormulaListenerDeleteArea();
412 void testSharedFormulaUpdateOnReplacement();
413 void testSharedFormulaDeleteTopCell();
414 void testSharedFormulaCutCopyMoveIntoRef();
415 void testSharedFormulaCutCopyMoveWithRef();
416 void testSharedFormulaCutCopyMoveWithinRun();
417 void testFormulaPosition();
418 void testFormulaWizardSubformula();
423 * Make sure the sheet streams are invalidated properly.
425 void testStreamValid();
428 * Test built-in cell functions to make sure their categories and order
431 void testFunctionLists();
433 void testGraphicsInGroup();
434 void testGraphicsOnSheetMove();
437 * Test toggling relative/absolute flag of cell and cell range references.
438 * This corresponds with hitting Shift-F4 while the cursor is on a formula
441 void testToggleRefFlag();
444 * Test to make sure correct precedent / dependent cells are obtained when
445 * preparing to jump to them.
447 void testJumpToPrecedentsDependents();
449 void testSetBackgroundColor();
450 void testRenameTable();
453 void testAutoFillSimple();
454 void testCopyPasteFormulas();
455 void testCopyPasteFormulasExternalDoc();
456 void testCopyPasteReferencesExternalDoc(); // tdf#106456
458 void testFindAreaPosVertical();
459 void testFindAreaPosColRight();
460 void testShiftCells();
463 void testSortHorizontal();
464 void testSortHorizontalWholeColumn();
465 void testSortSingleRow();
466 void testSortWithFormulaRefs();
467 void testSortWithStrings();
468 void testSortInFormulaGroup();
469 void testSortWithCellFormats();
470 void testSortRefUpdate();
471 void testSortRefUpdate2();
472 void testSortRefUpdate3();
473 void testSortRefUpdate4();
474 void testSortRefUpdate4_Impl();
475 void testSortRefUpdate5();
476 void testSortRefUpdate6();
477 void testSortBroadcaster();
478 void testSortBroadcastBroadcaster();
479 void testSortOutOfPlaceResult();
480 void testSortPartialFormulaGroup();
481 void testSortImages();
483 void testNoteBasic();
484 void testNoteDeleteRow();
485 void testNoteDeleteCol();
486 void testNoteLifeCycle();
487 void testNoteCopyPaste();
488 void testNoteContainsNotesInRange();
489 void testAreasWithNotes();
490 void testAnchoredRotatedShape();
491 void testCellTextWidth();
492 void testEditTextIterator();
494 // conditional format tests
495 // mostly in ucalc_condformat.cxx
496 void testCondFormatINSDEL();
497 void testCondFormatInsertRow();
498 void testCondFormatInsertCol();
499 void testCondFormatInsertDeleteSheets();
500 void testCondCopyPaste();
501 void testCondCopyPasteSingleCell(); //e.g. fdo#82503
502 void testCondCopyPasteSingleCellToRange(); //e.g. fdo#82503
503 void testCondCopyPasteSingleCellIntoSameFormatRange(); // e.g., tdf#95295
504 void testCondCopyPasteSingleRowToRange(); //e.g. tdf#106242
505 void testCondCopyPasteSingleRowToRange2();
506 void testCondCopyPasteSheetBetweenDoc();
507 void testCondCopyPasteSheet();
509 void testDataBarLengthAutomaticAxis();
510 void testDataBarLengthMiddleAxis();
512 // Tests for the ScFormulaListener class
513 void testFormulaListenerSingleCellToSingleCell();
514 void testFormulaListenerMultipleCellsToSingleCell();
515 void testFormulaListenerSingleCellToMultipleCells();
516 void testFormulaListenerMultipleCellsToMultipleCells();
517 void testFormulaListenerUpdateInsertTab();
518 void testFormulaListenerUpdateDeleteTab();
520 // Check that the Listeners are correctly updated when we
522 void testCondFormatUpdateMoveTab();
523 void testCondFormatUpdateDeleteTab();
524 void testCondFormatUpdateInsertTab();
525 void testCondFormatUpdateReference();
526 void testCondFormatUpdateReferenceDelRow();
527 void testCondFormatUpdateReferenceInsRow();
529 void testCondFormatEndsWithStr();
530 void testCondFormatEndsWithVal();
532 void testCondFormatUndoList();
533 void testMultipleSingleCellCondFormatCopyPaste();
534 void testDeduplicateMultipleCondFormats();
535 void testCondFormatListenToOwnRange();
536 void testCondFormatVolatileFunctionRecalc();
538 void testImportStream();
539 void testDeleteContents();
540 void testTransliterateText();
542 void testFormulaToValue();
543 void testFormulaToValue2();
545 void testColumnFindEditCells();
546 void testSetStringAndNote();
549 void testCopyPasteMatrixFormula();
550 void testUndoDataAnchor();
551 void testFormulaErrorPropagation();
552 void testSetFormula();
553 void testMultipleDataCellsInRange();
558 void testEmptyCalcDocDefaults();
560 void testPrecisionAsShown();
561 void testProtectedSheetEditByRow();
562 void testProtectedSheetEditByColumn();
563 void testFuncRowsHidden();
564 void testInsertColCellStoreEventSwap();
565 void testFormulaAfterDeleteRows();
567 CPPUNIT_TEST_SUITE(Test
);
568 CPPUNIT_TEST(testCollator
);
569 CPPUNIT_TEST(testSharedStringPool
);
570 CPPUNIT_TEST(testSharedStringPoolUndoDoc
);
571 CPPUNIT_TEST(testRangeList
);
572 CPPUNIT_TEST(testMarkData
);
573 CPPUNIT_TEST(testInput
);
574 CPPUNIT_TEST(testColumnIterator
);
575 CPPUNIT_TEST(testDocStatistics
);
576 CPPUNIT_TEST(testRowForHeight
);
577 CPPUNIT_TEST(testDataEntries
);
578 CPPUNIT_TEST(testSelectionFunction
);
579 CPPUNIT_TEST(testMarkedCellIteration
);
580 CPPUNIT_TEST(testFormulaCreateStringFromTokens
);
581 CPPUNIT_TEST(testFormulaParseReference
);
582 CPPUNIT_TEST(testFetchVectorRefArray
);
583 CPPUNIT_TEST(testGroupConverter3D
);
584 // CPPUNIT_TEST(testFormulaHashAndTag);
585 CPPUNIT_TEST(testFormulaTokenEquality
);
586 CPPUNIT_TEST(testFormulaRefData
);
587 CPPUNIT_TEST(testFormulaCompiler
);
588 CPPUNIT_TEST(testFormulaCompilerJumpReordering
);
589 CPPUNIT_TEST(testFormulaCompilerImplicitIntersection2Param
);
590 CPPUNIT_TEST(testFormulaCompilerImplicitIntersection1ParamNoChange
);
591 CPPUNIT_TEST(testFormulaCompilerImplicitIntersection1ParamWithChange
);
592 CPPUNIT_TEST(testFormulaCompilerImplicitIntersection1NoGroup
);
593 CPPUNIT_TEST(testFormulaCompilerImplicitIntersectionOperators
);
594 CPPUNIT_TEST(testFormulaRefUpdate
);
595 CPPUNIT_TEST(testFormulaRefUpdateRange
);
596 CPPUNIT_TEST(testFormulaRefUpdateSheets
);
597 CPPUNIT_TEST(testFormulaRefUpdateSheetsDelete
);
598 CPPUNIT_TEST(testFormulaRefUpdateInsertRows
);
599 CPPUNIT_TEST(testFormulaRefUpdateInsertColumns
);
600 CPPUNIT_TEST(testFormulaRefUpdateMove
);
601 CPPUNIT_TEST(testFormulaRefUpdateMoveUndo
);
602 CPPUNIT_TEST(testFormulaRefUpdateMoveUndo2
);
603 CPPUNIT_TEST(testFormulaRefUpdateMoveUndo3NonShared
);
604 CPPUNIT_TEST(testFormulaRefUpdateMoveUndo3Shared
);
605 CPPUNIT_TEST(testFormulaRefUpdateMoveUndoDependents
);
606 CPPUNIT_TEST(testFormulaRefUpdateMoveUndo4
);
607 CPPUNIT_TEST(testFormulaRefUpdateMoveToSheet
);
608 CPPUNIT_TEST(testFormulaRefUpdateDeleteContent
);
609 CPPUNIT_TEST(testFormulaRefUpdateDeleteAndShiftLeft
);
610 CPPUNIT_TEST(testFormulaRefUpdateDeleteAndShiftLeft2
);
611 CPPUNIT_TEST(testFormulaRefUpdateDeleteAndShiftUp
);
612 CPPUNIT_TEST(testFormulaRefUpdateName
);
613 CPPUNIT_TEST(testFormulaRefUpdateNameMove
);
614 CPPUNIT_TEST(testFormulaRefUpdateNameExpandRef
);
615 CPPUNIT_TEST(testFormulaRefUpdateNameExpandRef2
);
616 CPPUNIT_TEST(testFormulaRefUpdateNameDeleteRow
);
617 CPPUNIT_TEST(testFormulaRefUpdateNameCopySheet
);
618 CPPUNIT_TEST(testFormulaRefUpdateNameDelete
);
619 CPPUNIT_TEST(testFormulaRefUpdateValidity
);
620 CPPUNIT_TEST(testTokenArrayRefUpdateMove
);
621 CPPUNIT_TEST(testIntersectionOpExcel
);
622 CPPUNIT_TEST(testMultipleOperations
);
623 CPPUNIT_TEST(testFuncCOLUMN
);
624 CPPUNIT_TEST(testFuncCOUNT
);
625 CPPUNIT_TEST(testFuncCOUNTBLANK
);
626 CPPUNIT_TEST(testFuncROW
);
627 CPPUNIT_TEST(testFuncSUM
);
628 CPPUNIT_TEST(testFuncPRODUCT
);
629 CPPUNIT_TEST(testFuncSUMPRODUCT
);
630 CPPUNIT_TEST(testFuncSUMXMY2
);
631 CPPUNIT_TEST(testFuncMIN
);
632 CPPUNIT_TEST(testFuncN
);
633 CPPUNIT_TEST(testFuncCOUNTIF
);
634 CPPUNIT_TEST(testFuncNUMBERVALUE
);
635 CPPUNIT_TEST(testFuncLEN
);
636 CPPUNIT_TEST(testFuncLOOKUP
);
637 CPPUNIT_TEST(testFuncLOOKUParrayWithError
);
638 CPPUNIT_TEST(testFuncVLOOKUP
);
639 CPPUNIT_TEST(testFuncMATCH
);
640 CPPUNIT_TEST(testFuncCELL
);
641 CPPUNIT_TEST(testFuncDATEDIF
);
642 CPPUNIT_TEST(testFuncINDIRECT
);
643 CPPUNIT_TEST(testFuncINDIRECT2
);
644 CPPUNIT_TEST(testFunc_MATCH_INDIRECT
);
645 CPPUNIT_TEST(testFuncIF
);
646 CPPUNIT_TEST(testFuncCHOOSE
);
647 CPPUNIT_TEST(testFuncIFERROR
);
648 CPPUNIT_TEST(testFuncGETPIVOTDATA
);
649 CPPUNIT_TEST(testFuncGETPIVOTDATALeafAccess
);
650 CPPUNIT_TEST(testRefR1C1WholeCol
);
651 CPPUNIT_TEST(testRefR1C1WholeRow
);
652 CPPUNIT_TEST(testIterations
);
653 CPPUNIT_TEST(testMatrixOp
);
654 CPPUNIT_TEST(testFuncRangeOp
);
655 CPPUNIT_TEST(testFuncFORMULA
);
656 CPPUNIT_TEST(testFuncTableRef
);
657 CPPUNIT_TEST(testFuncFTEST
);
658 CPPUNIT_TEST(testFuncFTESTBug
);
659 CPPUNIT_TEST(testFuncCHITEST
);
660 CPPUNIT_TEST(testFuncTTEST
);
661 CPPUNIT_TEST(testFuncSUMX2PY2
);
662 CPPUNIT_TEST(testFuncSUMX2MY2
);
663 CPPUNIT_TEST(testFuncGCD
);
664 CPPUNIT_TEST(testFuncLCM
);
665 CPPUNIT_TEST(testFuncSUMSQ
);
666 CPPUNIT_TEST(testFuncMDETERM
);
667 CPPUNIT_TEST(testFuncSUMIFS
);
668 CPPUNIT_TEST(testFuncRefListArraySUBTOTAL
);
669 CPPUNIT_TEST(testFuncJumpMatrixArrayIF
);
670 CPPUNIT_TEST(testFuncJumpMatrixArrayOFFSET
);
671 CPPUNIT_TEST(testMatConcat
);
672 CPPUNIT_TEST(testMatConcatReplication
);
673 CPPUNIT_TEST(testExternalRef
);
674 CPPUNIT_TEST(testExternalRangeName
);
675 CPPUNIT_TEST(testExternalRefFunctions
);
676 // currently crashes windows
677 // CPPUNIT_TEST(testExternalRefUnresolved);
678 CPPUNIT_TEST(testCopyToDocument
);
679 CPPUNIT_TEST(testFuncSHEET
);
680 CPPUNIT_TEST(testFuncNOW
);
681 CPPUNIT_TEST(testHorizontalIterator
);
682 CPPUNIT_TEST(testValueIterator
);
683 CPPUNIT_TEST(testHorizontalAttrIterator
);
684 CPPUNIT_TEST(testFormulaDepTracking
);
685 CPPUNIT_TEST(testFormulaDepTracking2
);
686 CPPUNIT_TEST(testFormulaDepTracking3
);
687 CPPUNIT_TEST(testFormulaDepTrackingDeleteRow
);
688 CPPUNIT_TEST(testFormulaDepTrackingDeleteCol
);
689 CPPUNIT_TEST(testFormulaMatrixResultUpdate
);
690 CPPUNIT_TEST(testCellBroadcaster
);
691 CPPUNIT_TEST(testFuncParam
);
692 CPPUNIT_TEST(testNamedRange
);
693 CPPUNIT_TEST(testInsertNameList
);
694 CPPUNIT_TEST(testCSV
);
695 CPPUNIT_TEST(testMatrix
);
696 CPPUNIT_TEST(testMatrixComparisonWithErrors
);
697 CPPUNIT_TEST(testMatrixConditionalBooleanResult
);
698 CPPUNIT_TEST(testEnterMixedMatrix
);
699 CPPUNIT_TEST(testMatrixEditable
);
700 CPPUNIT_TEST(testPivotTable
);
701 CPPUNIT_TEST(testPivotTableLabels
);
702 CPPUNIT_TEST(testPivotTableDateLabels
);
703 CPPUNIT_TEST(testPivotTableFilters
);
704 CPPUNIT_TEST(testPivotTableNamedSource
);
705 CPPUNIT_TEST(testPivotTableCache
);
706 CPPUNIT_TEST(testPivotTableDuplicateDataFields
);
707 CPPUNIT_TEST(testPivotTableNormalGrouping
);
708 CPPUNIT_TEST(testPivotTableNumberGrouping
);
709 CPPUNIT_TEST(testPivotTableDateGrouping
);
710 CPPUNIT_TEST(testPivotTableEmptyRows
);
711 CPPUNIT_TEST(testPivotTableTextNumber
);
712 CPPUNIT_TEST(testPivotTableCaseInsensitiveStrings
);
713 CPPUNIT_TEST(testPivotTableNumStability
);
714 CPPUNIT_TEST(testPivotTableFieldReference
);
715 CPPUNIT_TEST(testPivotTableDocFunc
);
716 CPPUNIT_TEST(testPivotTableRepeatItemLabels
);
717 CPPUNIT_TEST(testPivotTableDPCollection
);
718 CPPUNIT_TEST(testPivotTableMedianFunc
);
719 CPPUNIT_TEST(testCellCopy
);
720 CPPUNIT_TEST(testSheetCopy
);
721 CPPUNIT_TEST(testSheetMove
);
722 CPPUNIT_TEST(testDataArea
);
723 CPPUNIT_TEST(testGraphicsInGroup
);
724 CPPUNIT_TEST(testGraphicsOnSheetMove
);
725 CPPUNIT_TEST(testStreamValid
);
726 CPPUNIT_TEST(testFunctionLists
);
727 CPPUNIT_TEST(testToggleRefFlag
);
728 CPPUNIT_TEST(testAutofilter
);
729 CPPUNIT_TEST(testAutoFilterTimeValue
);
730 CPPUNIT_TEST(testAdvancedFilter
);
731 CPPUNIT_TEST(testCopyPaste
);
732 CPPUNIT_TEST(testCopyPasteAsLink
);
733 CPPUNIT_TEST(testCopyPasteTranspose
);
734 CPPUNIT_TEST(testCopyPasteMultiRange
);
735 CPPUNIT_TEST(testCopyPasteSkipEmpty
);
736 CPPUNIT_TEST(testCopyPasteSkipEmpty2
);
737 //CPPUNIT_TEST(testCopyPasteSkipEmptyConditionalFormatting);
738 CPPUNIT_TEST(testCutPasteRefUndo
);
739 CPPUNIT_TEST(testCutPasteGroupRefUndo
);
740 CPPUNIT_TEST(testMoveRefBetweenSheets
);
741 CPPUNIT_TEST(testUndoCut
);
742 CPPUNIT_TEST(testMoveBlock
);
743 CPPUNIT_TEST(testCopyPasteRelativeFormula
);
744 CPPUNIT_TEST(testCopyPasteRepeatOneFormula
);
745 CPPUNIT_TEST(testCopyPasteMixedReferenceFormula
);
746 CPPUNIT_TEST(testMergedCells
);
747 CPPUNIT_TEST(testUpdateReference
);
748 CPPUNIT_TEST(testSearchCells
);
749 CPPUNIT_TEST(testSharedFormulas
);
750 CPPUNIT_TEST(testSharedFormulasRefUpdate
);
751 CPPUNIT_TEST(testSharedFormulasRefUpdateMove
);
752 CPPUNIT_TEST(testSharedFormulasRefUpdateMove2
);
753 CPPUNIT_TEST(testSharedFormulasRefUpdateRange
);
754 CPPUNIT_TEST(testSharedFormulasRefUpdateRangeDeleteRow
);
755 CPPUNIT_TEST(testSharedFormulasRefUpdateExternal
);
756 CPPUNIT_TEST(testSharedFormulasInsertRow
);
757 CPPUNIT_TEST(testSharedFormulasDeleteRows
);
758 CPPUNIT_TEST(testSharedFormulasDeleteColumns
);
759 CPPUNIT_TEST(testSharedFormulasRefUpdateMoveSheets
);
760 CPPUNIT_TEST(testSharedFormulasRefUpdateCopySheets
);
761 CPPUNIT_TEST(testSharedFormulasRefUpdateDeleteSheets
);
762 CPPUNIT_TEST(testSharedFormulasCopyPaste
);
763 CPPUNIT_TEST(testSharedFormulaInsertColumn
);
764 CPPUNIT_TEST(testSharedFormulaUpdateOnNamedRangeChange
);
765 CPPUNIT_TEST(testSharedFormulaUpdateOnDBChange
);
766 CPPUNIT_TEST(testSharedFormulaAbsCellListener
);
767 CPPUNIT_TEST(testSharedFormulaUnshareAreaListeners
);
768 CPPUNIT_TEST(testSharedFormulaListenerDeleteArea
);
769 CPPUNIT_TEST(testSharedFormulaUpdateOnReplacement
);
770 CPPUNIT_TEST(testSharedFormulaDeleteTopCell
);
771 CPPUNIT_TEST(testSharedFormulaCutCopyMoveIntoRef
);
772 CPPUNIT_TEST(testSharedFormulaCutCopyMoveWithRef
);
773 CPPUNIT_TEST(testSharedFormulaCutCopyMoveWithinRun
);
774 CPPUNIT_TEST(testFormulaPosition
);
775 CPPUNIT_TEST(testFormulaWizardSubformula
);
776 CPPUNIT_TEST(testMixData
);
777 CPPUNIT_TEST(testJumpToPrecedentsDependents
);
778 CPPUNIT_TEST(testSetBackgroundColor
);
779 CPPUNIT_TEST(testRenameTable
);
780 CPPUNIT_TEST(testAutoFill
);
781 CPPUNIT_TEST(testAutoFillSimple
);
782 CPPUNIT_TEST(testCopyPasteFormulas
);
783 CPPUNIT_TEST(testCopyPasteFormulasExternalDoc
);
784 CPPUNIT_TEST(testCopyPasteReferencesExternalDoc
);
785 CPPUNIT_TEST(testFindAreaPosVertical
);
786 CPPUNIT_TEST(testFindAreaPosColRight
);
787 CPPUNIT_TEST(testSort
);
788 CPPUNIT_TEST(testSortHorizontal
);
789 CPPUNIT_TEST(testSortHorizontalWholeColumn
);
790 CPPUNIT_TEST(testSortSingleRow
);
791 CPPUNIT_TEST(testSortWithFormulaRefs
);
792 CPPUNIT_TEST(testSortWithStrings
);
793 CPPUNIT_TEST(testSortInFormulaGroup
);
794 CPPUNIT_TEST(testSortWithCellFormats
);
795 CPPUNIT_TEST(testSortRefUpdate
);
796 CPPUNIT_TEST(testSortRefUpdate2
);
797 CPPUNIT_TEST(testSortRefUpdate3
);
798 CPPUNIT_TEST(testSortRefUpdate4
);
799 CPPUNIT_TEST(testSortRefUpdate5
);
800 CPPUNIT_TEST(testSortRefUpdate6
);
801 CPPUNIT_TEST(testSortBroadcaster
);
802 CPPUNIT_TEST(testSortBroadcastBroadcaster
);
803 CPPUNIT_TEST(testSortOutOfPlaceResult
);
804 CPPUNIT_TEST(testSortPartialFormulaGroup
);
805 CPPUNIT_TEST(testSortImages
);
806 CPPUNIT_TEST(testShiftCells
);
807 CPPUNIT_TEST(testNoteBasic
);
808 CPPUNIT_TEST(testNoteDeleteRow
);
809 CPPUNIT_TEST(testNoteDeleteCol
);
810 CPPUNIT_TEST(testNoteLifeCycle
);
811 CPPUNIT_TEST(testNoteCopyPaste
);
812 CPPUNIT_TEST(testNoteContainsNotesInRange
);
813 CPPUNIT_TEST(testAreasWithNotes
);
814 CPPUNIT_TEST(testAnchoredRotatedShape
);
815 CPPUNIT_TEST(testCellTextWidth
);
816 CPPUNIT_TEST(testEditTextIterator
);
817 CPPUNIT_TEST(testCondFormatINSDEL
);
818 CPPUNIT_TEST(testCondFormatInsertRow
);
819 CPPUNIT_TEST(testCondFormatInsertCol
);
820 CPPUNIT_TEST(testCondFormatInsertDeleteSheets
);
821 CPPUNIT_TEST(testCondCopyPaste
);
822 CPPUNIT_TEST(testCondCopyPasteSingleCell
);
823 CPPUNIT_TEST(testCondCopyPasteSingleCellToRange
);
824 CPPUNIT_TEST(testCondCopyPasteSingleCellIntoSameFormatRange
);
825 CPPUNIT_TEST(testCondCopyPasteSingleRowToRange
);
826 CPPUNIT_TEST(testCondCopyPasteSingleRowToRange2
);
827 CPPUNIT_TEST(testCondCopyPasteSheetBetweenDoc
);
828 CPPUNIT_TEST(testCondCopyPasteSheet
);
829 CPPUNIT_TEST(testCondFormatEndsWithStr
);
830 CPPUNIT_TEST(testCondFormatEndsWithVal
);
831 CPPUNIT_TEST(testCondFormatUpdateReferenceDelRow
);
832 CPPUNIT_TEST(testCondFormatUpdateReferenceInsRow
);
833 CPPUNIT_TEST(testCondFormatUndoList
);
834 CPPUNIT_TEST(testMultipleSingleCellCondFormatCopyPaste
);
835 CPPUNIT_TEST(testDeduplicateMultipleCondFormats
);
836 CPPUNIT_TEST(testCondFormatVolatileFunctionRecalc
);
837 CPPUNIT_TEST(testIconSet
);
838 CPPUNIT_TEST(testDataBarLengthAutomaticAxis
);
839 CPPUNIT_TEST(testDataBarLengthMiddleAxis
);
840 CPPUNIT_TEST(testFormulaListenerSingleCellToSingleCell
);
841 CPPUNIT_TEST(testFormulaListenerSingleCellToMultipleCells
);
842 CPPUNIT_TEST(testFormulaListenerMultipleCellsToSingleCell
);
843 CPPUNIT_TEST(testFormulaListenerMultipleCellsToMultipleCells
);
844 CPPUNIT_TEST(testFormulaListenerUpdateInsertTab
);
845 CPPUNIT_TEST(testFormulaListenerUpdateDeleteTab
);
846 CPPUNIT_TEST(testImportStream
);
847 CPPUNIT_TEST(testDeleteContents
);
848 CPPUNIT_TEST(testTransliterateText
);
849 CPPUNIT_TEST(testFormulaToValue
);
850 CPPUNIT_TEST(testFormulaToValue2
);
851 CPPUNIT_TEST(testColumnFindEditCells
);
852 CPPUNIT_TEST(testSetStringAndNote
);
853 CPPUNIT_TEST(testCopyPasteMatrixFormula
);
854 CPPUNIT_TEST(testUndoDataAnchor
);
855 CPPUNIT_TEST(testFormulaErrorPropagation
);
856 CPPUNIT_TEST(testSetFormula
);
857 CPPUNIT_TEST(testMultipleDataCellsInRange
);
858 CPPUNIT_TEST(testTdf97369
);
859 CPPUNIT_TEST(testTdf97587
);
860 CPPUNIT_TEST(testEmptyCalcDocDefaults
);
861 CPPUNIT_TEST(testPrecisionAsShown
);
862 CPPUNIT_TEST(testProtectedSheetEditByRow
);
863 CPPUNIT_TEST(testProtectedSheetEditByColumn
);
864 CPPUNIT_TEST(testFuncRowsHidden
);
865 CPPUNIT_TEST(testInsertColCellStoreEventSwap
);
866 CPPUNIT_TEST(testFormulaAfterDeleteRows
);
867 CPPUNIT_TEST_SUITE_END();
870 std::unique_ptr
<TestImpl
> m_pImpl
;
876 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */