diff --git a/test/unit/error.cpp b/test/unit/error.cpp index 4ac65dac..24f69159 100644 --- a/test/unit/error.cpp +++ b/test/unit/error.cpp @@ -11,33 +11,59 @@ using namespace testing; using boost::mysql::errc; using boost::mysql::detail::error_to_string; +using boost::mysql::error_info; -TEST(errc, ErrorToString_Ok_ReturnsOk) +// error_to_string +TEST(ErrcEnum, ErrorToString_Ok_ReturnsOk) { EXPECT_STREQ(error_to_string(errc::ok), "no error"); } -TEST(errc, ErrorToString_ClientError_ReturnsDescription) +TEST(ErrcEnum, ErrorToString_ClientError_ReturnsDescription) { EXPECT_STREQ(error_to_string(errc::sequence_number_mismatch), "Mismatched sequence numbers"); } -TEST(errc, ErrorToString_ServerError_ReturnsEnumName) +TEST(ErrcEnum, ErrorToString_ServerError_ReturnsEnumName) { EXPECT_STREQ(error_to_string(errc::bad_db_error), "bad_db_error"); } -TEST(errc, ErrorToString_UnknownErrorOutOfRange_ReturnsUnknown) +TEST(ErrcEnum, ErrorToString_UnknownErrorOutOfRange_ReturnsUnknown) { EXPECT_STREQ(error_to_string(static_cast(0xfffefdfc)), ""); } -TEST(errc, ErrorToString_UnknownErrorServerRange_ReturnsUnknown) +TEST(ErrcEnum, ErrorToString_UnknownErrorServerRange_ReturnsUnknown) { EXPECT_STREQ(error_to_string(static_cast(1009)), ""); } -TEST(errc, ErrorToString_UnknownErrorBetweenServerAndClientRange_ReturnsUnknown) +TEST(ErrcEnum, ErrorToString_UnknownErrorBetweenServerAndClientRange_ReturnsUnknown) { EXPECT_STREQ(error_to_string(static_cast(5000)), ""); } + +// errro_info +TEST(ErrorInfo, OperatorEquals_Trivial_ComparesMessages) +{ + EXPECT_TRUE(error_info() == error_info()); + EXPECT_TRUE(error_info("abc") == error_info("abc")); + EXPECT_FALSE(error_info() == error_info("abc")); + EXPECT_FALSE(error_info("def") == error_info("abc")); +} + +TEST(ErrorInfo, OperatorNotEquals_Trivial_ComparesMessages) +{ + EXPECT_FALSE(error_info() != error_info()); + EXPECT_FALSE(error_info("abc") != error_info("abc")); + EXPECT_TRUE(error_info() != error_info("abc")); + EXPECT_TRUE(error_info("def") != error_info("abc")); +} + +TEST(ErrorInfo, OperatorStream_Trivial_StreamsMessage) +{ + std::ostringstream ss; + ss << error_info("abc"); + EXPECT_EQ(ss.str(), "abc"); +}