ResInsight/ApplicationCode/ProjectDataModel/ProjectDataModel_UnitTests/RimWellLogExtractionCurveImpl-Test.cpp
Pål Hagen 10c5b37122 Updated unit tests
Using RigWellLogCurveData instead of RimWellLogCurveImpl. Added test
interface which has access to private methods in RigWellLogCurveData.
RimWellLogCurveImpl should probably be removed when correct filtering of
curve segments based on depths is up & running.
2015-10-15 12:41:12 +02:00

54 lines
1.9 KiB
C++

#include "gtest/gtest.h"
#include "RigWellLogCurveData.h"
#include <cmath> // Needed for HUGE_VAL on Linux
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TEST(RimWellLogExtractionCurveImplTest, StripOffInvalidValAtEndsOfVector)
{
std::vector<double> values;
values.push_back(HUGE_VAL);
values.push_back(HUGE_VAL);
values.push_back(1.0);
values.push_back(2.0);
values.push_back(3.0);
values.push_back(HUGE_VAL);
std::vector< std::pair<size_t, size_t> > valuesIntervals;
RigWellLogCurveDataTestInterface::calculateIntervalsOfValidValues(values, &valuesIntervals);
EXPECT_EQ(1, static_cast<int>(valuesIntervals.size()));
EXPECT_EQ(2, static_cast<int>(valuesIntervals[0].first));
EXPECT_EQ(4, static_cast<int>(valuesIntervals[0].second));
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TEST(RimWellLogExtractionCurveImplTest, StripOffHugeValAtEndsAndInteriorOfVector)
{
std::vector<double> values;
values.push_back(HUGE_VAL);
values.push_back(HUGE_VAL);
values.push_back(1.0);
values.push_back(HUGE_VAL);
values.push_back(HUGE_VAL);
values.push_back(2.0);
values.push_back(3.0);
values.push_back(HUGE_VAL);
std::vector< std::pair<size_t, size_t> > valuesIntervals;
RigWellLogCurveDataTestInterface::calculateIntervalsOfValidValues(values, &valuesIntervals);
EXPECT_EQ(2, valuesIntervals.size());
EXPECT_EQ(2, valuesIntervals[0].first);
EXPECT_EQ(2, valuesIntervals[0].second);
EXPECT_EQ(5, valuesIntervals[1].first);
EXPECT_EQ(6, valuesIntervals[1].second);
}