MCPcopy Create free account
hub / github.com/PDAL/PDAL / TEST

Function TEST

test/unit/filters/StatsFilterTest.cpp:49–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47using namespace pdal;
48
49TEST(Stats, handcalc)
50{
51 PointTable table;
52 table.layout()->registerDim(Dimension::Id::X);
53 PointViewPtr v(new PointView(table));
54 v->setField(Dimension::Id::X, 0, 1);
55 v->setField(Dimension::Id::X, 1, 5);
56 v->setField(Dimension::Id::X, 2, 8);
57 v->setField(Dimension::Id::X, 3, 25);
58 v->setField(Dimension::Id::X, 4, 20);
59 v->setField(Dimension::Id::X, 5, 17);
60
61 BufferReader r;
62 r.addView(v);
63 StatsFilter f;
64 f.setInput(r);
65 Options opts;
66 opts.add("advanced", true);
67 f.setOptions(opts);
68
69 f.prepare(table);
70 f.execute(table);
71
72 const stats::Summary& xstats = f.getStats(Dimension::Id::X);
73
74 EXPECT_EQ(xstats.minimum(), 1.0);
75 EXPECT_EQ(xstats.maximum(), 25.0);
76 EXPECT_DOUBLE_EQ(xstats.average(), 12.0 + 2.0 / 3.0);
77 EXPECT_DOUBLE_EQ(xstats.sampleVariance(), 88.2 + .2 / 3);
78 EXPECT_DOUBLE_EQ(xstats.sampleStddev(), std::sqrt(88.2 + .2 / 3));
79 EXPECT_NEAR(xstats.populationSkewness(), 0.05589204039, 0.000000001);
80 EXPECT_NEAR(xstats.sampleSkewness(), 0.07653332827, 0.000000001);
81
82 EXPECT_NEAR(xstats.populationKurtosis(), 1.504435885, 0.000000001);
83 EXPECT_NEAR(xstats.populationExcessKurtosis(), -1.495564114, 0.000000001);
84 EXPECT_NEAR(xstats.sampleKurtosis(), 4.387937998, 0.000000001);
85 EXPECT_NEAR(xstats.sampleExcessKurtosis(), -1.862062002, 0.000000001);
86}
87
88
89TEST(Stats, baseline)

Callers 1

Calls 15

registerDimMethod · 0.80
setOptionsMethod · 0.80
createStageMethod · 0.80
setFieldMethod · 0.45
addMethod · 0.45
prepareMethod · 0.45
executeMethod · 0.45
minimumMethod · 0.45
maximumMethod · 0.45
getNameMethod · 0.45
getMetadataMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected