| 240 | QCOMPARE(stats.entropy, 2.); |
| 241 | } |
| 242 | void ColumnTest::statisticsDoubleZero() { |
| 243 | Column c(QStringLiteral("Double column"), Column::ColumnMode::Double); |
| 244 | c.setValues({1.0, 0.0, 2.0, 5.0}); |
| 245 | |
| 246 | auto& stats = c.statistics(); |
| 247 | |
| 248 | QCOMPARE(stats.size, 4); |
| 249 | QCOMPARE(stats.minimum, 0.); |
| 250 | QCOMPARE(stats.maximum, 5.); |
| 251 | QCOMPARE(stats.arithmeticMean, 2.); |
| 252 | QCOMPARE(stats.geometricMean, 1.77827941003892); // special case |
| 253 | QCOMPARE(stats.harmonicMean, 0.); |
| 254 | QCOMPARE(stats.contraharmonicMean, 3.75); |
| 255 | |
| 256 | QCOMPARE(stats.mode, NAN); |
| 257 | QCOMPARE(stats.firstQuartile, 0.75); |
| 258 | QCOMPARE(stats.median, 1.5); |
| 259 | QCOMPARE(stats.thirdQuartile, 2.75); |
| 260 | QCOMPARE(stats.iqr, 2.); |
| 261 | QCOMPARE(stats.percentile_1, 0.03); |
| 262 | QCOMPARE(stats.percentile_5, 0.15); |
| 263 | QCOMPARE(stats.percentile_10, 0.3); |
| 264 | QCOMPARE(stats.percentile_90, 4.1); |
| 265 | QCOMPARE(stats.percentile_95, 4.55); |
| 266 | QCOMPARE(stats.percentile_99, 4.91); |
| 267 | QCOMPARE(stats.trimean, 1.625); |
| 268 | QCOMPARE(stats.variance, 4.6666666666667); |
| 269 | QCOMPARE(stats.standardDeviation, 2.16024689946929); |
| 270 | QCOMPARE(stats.meanDeviation, 1.5); |
| 271 | QCOMPARE(stats.meanDeviationAroundMedian, 1.5); |
| 272 | QCOMPARE(stats.medianDeviation, 1.); |
| 273 | QCOMPARE(stats.skewness, 0.68724319348909); |
| 274 | QCOMPARE(stats.kurtosis, 2.); |
| 275 | QCOMPARE(stats.entropy, 2.); |
| 276 | } |
| 277 | |
| 278 | void ColumnTest::statisticsInt() { |
| 279 | Column c(QStringLiteral("Integer column"), Column::ColumnMode::Integer); |
nothing calls this directly
no test coverage detected