mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3748 Statistics calculators : Add tests for statistics calculators
Add negative infinity to input data to trigger failing tests
This commit is contained in:
parent
5fee7b1492
commit
5e7ebcd0f6
@ -44,7 +44,7 @@ TEST(RigStatisticsMath, BasicTest)
|
||||
values.push_back(80720.4378655615000);
|
||||
values.push_back(-98649.8109937874000);
|
||||
values.push_back(99372.9362079615000);
|
||||
values.push_back(HUGE_VAL);
|
||||
values.push_back(-HUGE_VAL);
|
||||
values.push_back(-57020.4389966513000);
|
||||
|
||||
double min, max, sum, range, mean, stdev;
|
||||
@ -65,7 +65,7 @@ TEST(RigStatisticsMath, BasicTest)
|
||||
TEST(RigStatisticsMath, RankPercentiles)
|
||||
{
|
||||
std::vector<double> values;
|
||||
values.push_back(HUGE_VAL);
|
||||
values.push_back(-HUGE_VAL);
|
||||
values.push_back(2788.2723335651900);
|
||||
values.push_back(-22481.0927881701000);
|
||||
values.push_back(68778.6851686236000);
|
||||
@ -113,8 +113,8 @@ TEST(RigStatisticsMath, HistogramPercentiles)
|
||||
values.push_back(6391.97999909729003);
|
||||
values.push_back(65930.1200169780000);
|
||||
values.push_back(-27696.2320267235000);
|
||||
values.push_back(HUGE_VAL);
|
||||
values.push_back(HUGE_VAL);
|
||||
values.push_back(-HUGE_VAL);
|
||||
values.push_back(-HUGE_VAL);
|
||||
values.push_back(96161.7546348456000);
|
||||
values.push_back(73875.6716288563000);
|
||||
values.push_back(80720.4378655615000);
|
||||
@ -179,3 +179,52 @@ TEST(RigStatisticsMath, InterpolatedPercentiles)
|
||||
EXPECT_DOUBLE_EQ( 6391.9799990972897, pVals[2]);
|
||||
EXPECT_DOUBLE_EQ( 93073.49128098879, pVals[3]);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST(RigStatisticsMath, Accumulators)
|
||||
{
|
||||
std::vector<double> values;
|
||||
|
||||
const double v1 = 2788.2723335651900;
|
||||
const double v2 = 68778.6851686236000;
|
||||
const double v3 = -98649.8109937874000;
|
||||
const double v4 = -57020.4389966513000;
|
||||
|
||||
values.push_back(HUGE_VAL);
|
||||
values.push_back(v1);
|
||||
values.push_back(v2);
|
||||
values.push_back(-HUGE_VAL);
|
||||
values.push_back(v3);
|
||||
values.push_back(HUGE_VAL);
|
||||
values.push_back(v4);
|
||||
|
||||
{
|
||||
MinMaxAccumulator acc;
|
||||
acc.addData(values);
|
||||
|
||||
EXPECT_DOUBLE_EQ(v3, acc.min);
|
||||
EXPECT_DOUBLE_EQ(v2, acc.max);
|
||||
}
|
||||
|
||||
{
|
||||
PosNegAccumulator acc;
|
||||
acc.addData(values);
|
||||
|
||||
EXPECT_DOUBLE_EQ(v1, acc.pos);
|
||||
EXPECT_DOUBLE_EQ(v4, acc.neg);
|
||||
}
|
||||
|
||||
{
|
||||
SumCountAccumulator acc;
|
||||
acc.addData(values);
|
||||
|
||||
const double sum = v1 + v2 + v3 + v4;
|
||||
|
||||
EXPECT_FALSE(std::isinf(acc.valueSum));
|
||||
|
||||
EXPECT_DOUBLE_EQ(sum, acc.valueSum);
|
||||
EXPECT_EQ(4, acc.sampleCount);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user