38#include <gtest/gtest.h>
54TEST(AhMsgTest, BuildStringConcatenatesArguments)
57 EXPECT_EQ(msg,
"Value=42, flag=1");
60 EXPECT_EQ(alias,
"[Value=42, flag=1]");
63TEST(AhMsgTest, BuildStringSupportsMovableTypes)
65 std::string dynamic =
"dynamic";
66 const std::string msg =
Aleph::build_string(
"copy-", dynamic,
"-move-", std::string(
"temp"));
68 EXPECT_EQ(msg,
"copy-dynamic-move-temp");
69 EXPECT_EQ(dynamic,
"dynamic");
72TEST(AhMsgTest, BuildStringRejectsNonStreamableAtCompileTime)
75 "NonStreamable should not be considered stream insertable");
76 static_assert(!Aleph::detail::are_stream_insertable_v<NonStreamable>,
77 "Variadic helper must reject NonStreamable");
Message builder for constructing formatted strings.
std::string build_string(Args &&... args)
Concatenate arbitrary streamable arguments into a string.
std::string build_error_msg(Args &&... args)
Alias kept for backwards compatibility with historic API.