Skip to content

Commit 4d04187

Browse files
committed
Problem: no tests for move-assignment
Solution: added test cases
1 parent c92afb6 commit 4d04187

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

tests/message.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
#include <gtest/gtest.h>
22
#include <zmq.hpp>
33

4+
#if defined(ZMQ_CPP11)
5+
static_assert(!std::is_copy_constructible<zmq::message_t>::value, "message_t should not be copy-constructible");
6+
static_assert(!std::is_copy_assignable<zmq::message_t>::value, "message_t should not be copy-assignable");
7+
#endif
8+
49
TEST (message, constructor_default)
510
{
611
const zmq::message_t message;
@@ -46,6 +51,28 @@ TEST (message, constructor_move)
4651
{
4752
zmq::message_t hi_msg (zmq::message_t(data, strlen (data)));
4853
}
54+
55+
TEST (message, assign_move_empty_before)
56+
{
57+
zmq::message_t hi_msg;
58+
hi_msg = zmq::message_t (data, strlen (data));
59+
ASSERT_EQ (2u, hi_msg.size ());
60+
ASSERT_EQ (0, memcmp (data, hi_msg.data (), 2));
61+
}
62+
63+
TEST (message, assign_move_empty_after)
64+
{
65+
zmq::message_t hi_msg (data, strlen (data));
66+
hi_msg = zmq::message_t();
67+
ASSERT_EQ (0u, hi_msg.size ());
68+
}
69+
70+
TEST (message, assign_move_empty_before_and_after)
71+
{
72+
zmq::message_t hi_msg;
73+
hi_msg = zmq::message_t();
74+
ASSERT_EQ (0u, hi_msg.size ());
75+
}
4976
#endif
5077

5178
TEST (message, equality_self) {

0 commit comments

Comments
 (0)