util/str: Add string concatentation methods

Change-Id: I5caf8e0731eb9ac0f18b84d25256ea0068fab03c
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/util/string.cpp b/test/util/string.cpp
new file mode 100644
index 0000000..8ab4e81
--- /dev/null
+++ b/test/util/string.cpp
@@ -0,0 +1,39 @@
+#include <gtest/gtest.h>
+#include <stdplus/util/string.hpp>
+#include <string>
+#include <string_view>
+
+namespace stdplus
+{
+namespace util
+{
+namespace
+{
+
+using namespace std::string_literals;
+using namespace std::string_view_literals;
+
+TEST(StrCat, NoStr)
+{
+    EXPECT_EQ("", strCat());
+}
+
+TEST(StrCat, SingleStr)
+{
+    EXPECT_EQ("func", strCat("func"));
+}
+
+TEST(StrCat, Multi)
+{
+    EXPECT_EQ("func world test", strCat("func", " world"sv, " test"s));
+}
+
+TEST(StrCat, MoveStr)
+{
+    EXPECT_EQ("func", strCat("func"s));
+    EXPECT_EQ("func world", strCat("func"s, " world"));
+}
+
+} // namespace
+} // namespace util
+} // namespace stdplus