20GTEST_TEST(testLexicalCast, lexiCastOnAStringResultsInTheSameString)
22 std::string str1 {
"This is the string to \"convert\""};
23 std::string str2 {DryChem::lexical_cast<std::string>(str1)};
25 DryChem::ci_string ci_str1 {
"This is the string to \"convert\""};
26 DryChem::ci_string ci_str2 {DryChem::lexical_cast<DryChem::ci_string>(ci_str1)};
28 ASSERT_EQ(str1, str2);
29 ASSERT_EQ(ci_str1, ci_str2);
41GTEST_TEST(testLexicalCast, ifInputStreamFailsWithTheBadBitSetAWarningIsPrintedAndValueIsSetToDefault)
45 testing::internal::CaptureStderr();
47 BadValue val = DryChem::lexical_cast<BadValue>(
"14");
49 std::string output = testing::internal::GetCapturedStderr();
50 ASSERT_EQ(output,
"Common-Utilities Warning:\n Error in lexical_cast, default value returned.\n");
52 ASSERT_EQ(0, val.getValue());
55GTEST_TEST(testLexicalCast, ifInputStreamFailsWithTheFailBitAWarningIsPrintedAndValueIsSetToDefault)
59 testing::internal::CaptureStderr();
61 FailValue val = DryChem::lexical_cast<FailValue>(
"14");
63 std::string output = testing::internal::GetCapturedStderr();
64 ASSERT_EQ(output,
"Common-Utilities Warning:\n Error in lexical_cast, default value returned.\n");
66 ASSERT_EQ(0, val.getValue());
119GTEST_TEST(testLexicalCast, lexiCastOnUnsignedLongLongIsTheSameAsCallingStdFunction)
121 std::string str {std::to_string(std::numeric_limits<unsigned long long>::max())};
123 ASSERT_EQ(std::stoull(std::to_string(std::numeric_limits<unsigned long long>::max())),
124 DryChem::lexical_cast<unsigned long long>(str));
GTEST_TEST(testLexicalCast, lexiCastOnAStringResultsInTheSameString)
Definition testLexicalCast.hpp:20