#include "gtest/gtest.h" #include "RiaCurveDataTools.h" #include <cmath> // Needed for HUGE_VAL on Linux #include <numeric> //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- 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); auto valuesIntervals = RiaCurveDataTools::calculateIntervalsOfValidValues(values, false); 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); auto valuesIntervals = RiaCurveDataTools::calculateIntervalsOfValidValues(values, false); EXPECT_EQ(2, static_cast<int>(valuesIntervals.size())); EXPECT_EQ(2, static_cast<int>(valuesIntervals[0].first)); EXPECT_EQ(2, static_cast<int>(valuesIntervals[0].second)); EXPECT_EQ(5, static_cast<int>(valuesIntervals[1].first)); EXPECT_EQ(6, static_cast<int>(valuesIntervals[1].second)); }