File indexing completed on 2024-12-01 09:43:55
0001 /* 0002 File : ColumnTest.h 0003 Project : LabPlot 0004 Description : Tests for Column 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2021 Martin Marmsoler <martin.marmsoler@gmail.com> 0007 SPDX-FileCopyrightText: 2022 Stefan Gerlach <stefan.gerlach@uni.kn> 0008 SPDX-FileCopyrightText: 2022-2023 Alexander Semke <alexander.semke@web.de> 0009 0010 SPDX-License-Identifier: GPL-2.0-or-later 0011 */ 0012 0013 #ifndef COLUMNTEST_H 0014 #define COLUMNTEST_H 0015 0016 #include "../../CommonTest.h" 0017 0018 class ColumnTest : public CommonTest { 0019 Q_OBJECT 0020 0021 private Q_SLOTS: 0022 void initTestCase(); 0023 0024 // ranges 0025 void doubleMinimum(); 0026 void doubleMaximum(); 0027 void integerMinimum(); 0028 void integerMaximum(); 0029 void bigIntMinimum(); 0030 void bigIntMaximum(); 0031 0032 // statistical properties for different column modes 0033 void statisticsDouble(); // only positive double values 0034 void statisticsDoubleNegative(); // contains negative values (> -100) 0035 void statisticsDoubleBigNegative(); // contains big negative values (<= -100) 0036 void statisticsDoubleZero(); // contains zero value 0037 void statisticsInt(); // only positive integer values 0038 void statisticsIntNegative(); // contains negative values (> -100) 0039 void statisticsIntBigNegative(); // contains big negative values (<= -100) 0040 void statisticsIntZero(); // contains zero value 0041 void statisticsIntOverflow(); // check overflow of integer 0042 void statisticsBigInt(); // big ints 0043 void statisticsText(); 0044 0045 void statisticsMaskValues(); 0046 void statisticsClearSpreadsheetMasks(); 0047 0048 // generation of column values via a formula 0049 void testFormulaAutoUpdateEnabledResize(); 0050 void testFormulaAutoUpdateEnabled(); 0051 void testFormulaAutoUpdateDisabled(); 0052 void testFormulaAutoResizeEnabled(); 0053 void testFormulaAutoResizeDisabled(); 0054 0055 // dictionary related tests for text columns 0056 void testDictionaryIndex(); 0057 void testTextFrequencies(); 0058 0059 // performance of save and load 0060 void loadDoubleFromProject(); 0061 void loadIntegerFromProject(); 0062 void loadBigIntegerFromProject(); 0063 void loadTextFromProject(); 0064 void loadDateTimeFromProject(); 0065 void saveLoadDateTime(); 0066 0067 void testIndexForValue(); 0068 void testIndexForValueDoubleVector(); 0069 0070 void testInsertRow(); 0071 void testRemoveRow(); 0072 0073 void testFormula(); 0074 void testFormulaCell(); 0075 void testFormulaCellInvalid(); 0076 void testFormulaCellConstExpression(); 0077 void testFormulaCellMulti(); 0078 void testFormulasmmin(); 0079 void testFormulasmmax(); 0080 void testFormulasma(); 0081 0082 void testFormulasMinColumnInvalid(); 0083 0084 void testFormulasSize(); 0085 void testFormulasMin(); 0086 void testFormulasMax(); 0087 void testFormulasMean(); 0088 void testFormulasMedian(); 0089 void testFormulasStdev(); 0090 void testFormulasVar(); 0091 void testFormulasGm(); 0092 void testFormulasHm(); 0093 void testFormulasChm(); 0094 void testFormulasStatisticsMode(); 0095 void testFormulasQuartile1(); 0096 void testFormulasQuartile3(); 0097 void testFormulasIqr(); 0098 void testFormulasPercentile1(); 0099 void testFormulasPercentile5(); 0100 void testFormulasPercentile10(); 0101 void testFormulasPercentile90(); 0102 void testFormulasPercentile95(); 0103 void testFormulasPercentile99(); 0104 void testFormulasTrimean(); 0105 void testFormulasMeandev(); 0106 void testFormulasMeandevmedian(); 0107 void testFormulasMediandev(); 0108 void testFormulasSkew(); 0109 void testFormulasKurt(); 0110 void testFormulasEntropy(); 0111 void testFormulasQuantile(); 0112 void testFormulasPercentile(); 0113 0114 void clearContentNoFormula(); 0115 void clearContentFormula(); 0116 0117 void testRowCountMonotonIncrease(); 0118 void testRowCountMonotonDecrease(); 0119 void testRowCountNonMonoton(); 0120 void testRowCountDateTime(); 0121 void testRowCountDateTimeMonotonDecrease(); 0122 0123 void testRowCountValueLabels(); 0124 void testRowCountValueLabelsDateTime(); 0125 }; 0126 0127 #endif // COLUMNTEST_H