Merge pull request #785 from joakim-hove/summary-state-num

Add size() and num_wells() methods to SummaryState
This commit is contained in:
Joakim Hove 2019-05-27 20:13:35 +02:00 committed by GitHub
commit 8189dd8c9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 0 deletions

View File

@ -93,6 +93,8 @@ public:
std::vector<std::string> groups(const std::string& var) const;
const_iterator begin() const;
const_iterator end() const;
std::size_t num_wells() const;
std::size_t size() const;
private:
double elapsed;
std::unordered_map<std::string,double> values;

View File

@ -193,4 +193,11 @@ namespace {
return std::vector<std::string>(this->m_groups.begin(), this->m_groups.end());
}
std::size_t SummaryState::num_wells() const {
return this->m_wells.size();
}
std::size_t SummaryState::size() const {
return this->values.size();
}
}

View File

@ -1463,6 +1463,7 @@ BOOST_AUTO_TEST_CASE(Test_SummaryState) {
st.update_well_var("OP1", "WWCT", 0.75);
st.update_well_var("OP2", "WWCT", 0.75);
st.update_well_var("OP3", "WOPT", 0.75);
st.update_well_var("OP3", "WGPR", 0.75);
BOOST_CHECK( st.has_well_var("OP1", "WWCT"));
BOOST_CHECK_EQUAL( st.get_well_var("OP1", "WWCT"), 0.75);
BOOST_CHECK_EQUAL( st.get_well_var("OP1", "WWCT"), st.get("WWCT:OP1"));
@ -1496,6 +1497,12 @@ BOOST_AUTO_TEST_CASE(Test_SummaryState) {
BOOST_CHECK_EQUAL(std::count(all_wells.begin(), all_wells.end(), "OP1"), 1);
BOOST_CHECK_EQUAL(std::count(all_wells.begin(), all_wells.end(), "OP2"), 1);
BOOST_CHECK_EQUAL(std::count(all_wells.begin(), all_wells.end(), "OP3"), 1);
BOOST_CHECK_EQUAL(st.size(), 8);
// The well 'OP_2' which was indirectly added with the
// st.update("WWCT:OP_2", 100) call is *not* counted as a well!
BOOST_CHECK_EQUAL(st.num_wells(), 3);
}
BOOST_AUTO_TEST_SUITE_END()