| 135 | ///////////////////////////////////////////////////// |
| 136 | |
| 137 | void ColumnTest::statisticsDouble() { |
| 138 | Column c(QStringLiteral("Double column"), Column::ColumnMode::Double); |
| 139 | c.setValues({1.0, 1.0, 2.0, 5.0}); |
| 140 | |
| 141 | auto& stats = c.statistics(); |
| 142 | |
| 143 | QCOMPARE(stats.size, 4); |
| 144 | QCOMPARE(stats.minimum, 1.); |
| 145 | QCOMPARE(stats.maximum, 5.); |
| 146 | QCOMPARE(stats.arithmeticMean, 2.25); |
| 147 | QCOMPARE(stats.geometricMean, pow(10., 0.25)); |
| 148 | QCOMPARE(stats.harmonicMean, 40. / 27.); |
| 149 | QCOMPARE(stats.contraharmonicMean, 31. / 9.); |
| 150 | |
| 151 | QCOMPARE(stats.mode, 1.); |
| 152 | QCOMPARE(stats.firstQuartile, 1.); |
| 153 | QCOMPARE(stats.median, 1.5); |
| 154 | QCOMPARE(stats.thirdQuartile, 2.75); |
| 155 | QCOMPARE(stats.iqr, 1.75); |
| 156 | QCOMPARE(stats.percentile_1, 1.); |
| 157 | QCOMPARE(stats.percentile_5, 1.); |
| 158 | QCOMPARE(stats.percentile_10, 1.); |
| 159 | QCOMPARE(stats.percentile_90, 4.1); |
| 160 | QCOMPARE(stats.percentile_95, 4.55); |
| 161 | QCOMPARE(stats.percentile_99, 4.91); |
| 162 | QCOMPARE(stats.trimean, 1.6875); |
| 163 | QCOMPARE(stats.variance, 3.58333333333); |
| 164 | QCOMPARE(stats.standardDeviation, 1.8929694486); |
| 165 | QCOMPARE(stats.meanDeviation, 1.375); |
| 166 | QCOMPARE(stats.meanDeviationAroundMedian, 1.25); |
| 167 | QCOMPARE(stats.medianDeviation, 0.5); |
| 168 | QCOMPARE(stats.skewness, 0.95754916255356); |
| 169 | QCOMPARE(stats.kurtosis, 2.1487290427258); |
| 170 | QCOMPARE(stats.entropy, 1.5); |
| 171 | } |
| 172 | void ColumnTest::statisticsDoubleNegative() { |
| 173 | Column c(QStringLiteral("Double column"), Column::ColumnMode::Double); |
| 174 | c.setValues({-1.0, 0.0, 2.0, 5.0}); |
nothing calls this directly
no test coverage detected