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