From c71893e3d0c6157d34a1b3d97f1aa347dabd3cc1 Mon Sep 17 00:00:00 2001 From: Soeren Peters <peters@irmb.tu-bs.de> Date: Wed, 12 Aug 2020 10:22:26 +0200 Subject: [PATCH] =?UTF-8?q?Added=20ToIntVector=20Test=20and=20removed=20th?= =?UTF-8?q?e=20boost=20foreach.=E2=80=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/basics/Core/StringUtilities/StringUtil.cpp | 13 ++++++------- src/basics/Core/StringUtilities/StringUtilTest.cpp | 10 ++++++++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/basics/Core/StringUtilities/StringUtil.cpp b/src/basics/Core/StringUtilities/StringUtil.cpp index 515c2e26f..b98b13fd5 100644 --- a/src/basics/Core/StringUtilities/StringUtil.cpp +++ b/src/basics/Core/StringUtilities/StringUtil.cpp @@ -1,8 +1,6 @@ #include "StringUtil.h" -#include <boost/foreach.hpp> #include <boost/algorithm/string.hpp> -#include <boost/algorithm/string/predicate.hpp> std::string StringUtil::findAndReplace(const std::string &source, const std::string& find, const std::string& replace) { @@ -104,7 +102,7 @@ std::vector<int> StringUtil::toIntVector(const std::string& input) std::vector<int> v; std::vector<std::string> inputEntries; boost::algorithm::split(inputEntries, input, boost::is_any_of("\t\n ")); - BOOST_FOREACH(std::string entry, inputEntries) + for(std::string entry : inputEntries) if (entry != "") v.push_back(toInt(entry)); return v; @@ -115,7 +113,7 @@ std::vector<unsigned int> StringUtil::toUintVector(const std::string & input) std::vector<unsigned int> v; std::vector<std::string> inputEntries; boost::algorithm::split(inputEntries, input, boost::is_any_of("\t\n ")); - BOOST_FOREACH(std::string entry, inputEntries) + for(std::string entry : inputEntries) if (entry != "") v.push_back(toInt(entry)); return v; @@ -126,7 +124,7 @@ std::vector<bool> StringUtil::toBoolVector(const std::string & input) std::vector<bool> v; std::vector<std::string> inputEntries; boost::algorithm::split(inputEntries, input, boost::is_any_of("\t\n ")); - BOOST_FOREACH(std::string entry, inputEntries) + for(std::string entry : inputEntries) { bool b = 0; std::string trimmedInput = trim(input); @@ -141,7 +139,7 @@ std::vector<std::string> StringUtil::toStringVector(const std::string & input) std::vector<std::string> v; std::vector<std::string> inputEntries; boost::algorithm::split(inputEntries, input, boost::is_any_of("\t\n ")); - BOOST_FOREACH(std::string entry, inputEntries) + for(std::string entry : inputEntries) if (entry != "") v.push_back(toString(entry)); return v; @@ -152,7 +150,7 @@ BASICS_EXPORT std::vector<double> StringUtil::toDoubleVector(const std::string & std::vector<double> v; std::vector<std::string> inputEntries; boost::algorithm::split(inputEntries, input, boost::is_any_of("\t\n ")); - BOOST_FOREACH(std::string entry, inputEntries) + for(std::string entry : inputEntries) if (entry != "") v.push_back(toDouble(entry)); return v; @@ -169,6 +167,7 @@ std::string StringUtil::toString(const T& t) template BASICS_EXPORT std::string StringUtil::toString<int>(const int& t); + bool StringUtil::endsWith(const std::string &input, const std::string &end) { if (input.length() >= end.length()) { diff --git a/src/basics/Core/StringUtilities/StringUtilTest.cpp b/src/basics/Core/StringUtilities/StringUtilTest.cpp index 2de06ac57..48df13bc2 100644 --- a/src/basics/Core/StringUtilities/StringUtilTest.cpp +++ b/src/basics/Core/StringUtilities/StringUtilTest.cpp @@ -27,4 +27,14 @@ TEST(StringUtilTest, endsWith_shouldReturnFalse) const std::string ends_with {"string_"}; ASSERT_FALSE(StringUtil::endsWith(input, ends_with)); +} + +TEST(StringUtilTest, toIntVector) +{ + const std::string input {"1 2\n3 4"}; + std::vector<int> expected_result {1, 2, 3, 4}; + + auto result = StringUtil::toIntVector(input); + + ASSERT_THAT(result,testing::Eq(expected_result)); } \ No newline at end of file -- GitLab