mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2153 Curve Creator : Clear results before trying to assign values from curve merging
This commit is contained in:
parent
9d5bf4ce5e
commit
4d6d48dc18
@ -291,21 +291,27 @@ bool RimSummaryCalculation::calculate()
|
||||
|
||||
if (evaluatedOk)
|
||||
{
|
||||
size_t firstValidTimeStep = timeHistoryCurveMerger.validIntervalsForAllTimeSteps().front().first;
|
||||
size_t lastValidTimeStep = timeHistoryCurveMerger.validIntervalsForAllTimeSteps().back().second + 1;
|
||||
m_timesteps.v().clear();
|
||||
m_calculatedValues.v().clear();
|
||||
|
||||
if (lastValidTimeStep > firstValidTimeStep &&
|
||||
lastValidTimeStep <= timeHistoryCurveMerger.allTimeSteps().size())
|
||||
if (timeHistoryCurveMerger.validIntervalsForAllTimeSteps().size() > 0)
|
||||
{
|
||||
std::vector<time_t> validTimeSteps(timeHistoryCurveMerger.allTimeSteps().begin() + firstValidTimeStep,
|
||||
timeHistoryCurveMerger.allTimeSteps().begin() + lastValidTimeStep);
|
||||
size_t firstValidTimeStep = timeHistoryCurveMerger.validIntervalsForAllTimeSteps().front().first;
|
||||
size_t lastValidTimeStep = timeHistoryCurveMerger.validIntervalsForAllTimeSteps().back().second + 1;
|
||||
|
||||
if (lastValidTimeStep > firstValidTimeStep &&
|
||||
lastValidTimeStep <= timeHistoryCurveMerger.allTimeSteps().size())
|
||||
{
|
||||
std::vector<time_t> validTimeSteps(timeHistoryCurveMerger.allTimeSteps().begin() + firstValidTimeStep,
|
||||
timeHistoryCurveMerger.allTimeSteps().begin() + lastValidTimeStep);
|
||||
|
||||
|
||||
std::vector<double> validValues(resultValues.begin() + firstValidTimeStep,
|
||||
resultValues.begin() + lastValidTimeStep);
|
||||
std::vector<double> validValues(resultValues.begin() + firstValidTimeStep,
|
||||
resultValues.begin() + lastValidTimeStep);
|
||||
|
||||
m_timesteps = validTimeSteps;
|
||||
m_calculatedValues = validValues;
|
||||
m_timesteps = validTimeSteps;
|
||||
m_calculatedValues = validValues;
|
||||
}
|
||||
}
|
||||
|
||||
m_isDirty = false;
|
||||
|
@ -185,3 +185,26 @@ TEST(RigTimeHistoryCurveMergerTest, RobustUse)
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST(RigTimeHistoryCurveMergerTest, NoTimeStepOverlap)
|
||||
{
|
||||
std::vector<double> valuesA{ 1, 2, 3, 4, 5 };
|
||||
std::vector<double> valuesB{ 10, 20, 30 };
|
||||
|
||||
std::vector<time_t> timeStepsA{ 0, 10, 11, 15, 20 };
|
||||
std::vector<time_t> timeStepsB{ 100, 200, 300 };
|
||||
|
||||
{
|
||||
RigTimeHistoryCurveMerger curveMerger;
|
||||
curveMerger.addCurveData(valuesA, timeStepsA);
|
||||
curveMerger.addCurveData(valuesB, timeStepsB);
|
||||
|
||||
// Execute interpolation twice is allowed
|
||||
curveMerger.computeInterpolatedValues();
|
||||
EXPECT_EQ(8, static_cast<int>(curveMerger.allTimeSteps().size()));
|
||||
EXPECT_EQ(0, static_cast<int>(curveMerger.validIntervalsForAllTimeSteps().size()));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user