message_queue.unit_test.anubis
1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
read system/muscle.anubis
read system/message_queue.anubis
read tools/unit_test.anubis
define One
add_remove_test
(
UnitTestContext ut
)=
//received part test
with mQ = create_MessageQueue("test1"),
received_msg = message(1),
//test if receive queue is empty
assertIsFalse(ut, has_received_Message(mQ)(unique), "receive queue is empty");
//test the adding message in queue
add_received_Message(mQ)(received_msg);
assertIsTrue(ut, has_received_Message(mQ)(unique), "adding message in queue");
//retrieve the last message and test if receive queue is empty
forget(get_next_received_Message(mQ)(1));
assertIsFalse(ut, has_received_Message(mQ)(unique), "retrieve the last message");
with send_msg = message(2),
assertIsSame(ut, get_next_Message_to_send(mQ)(unique), timeout, "timeout");
add_Message_to_send(mQ)(send_msg);
assertIsSame(ut, get_next_Message_to_send(mQ)(unique), msg(send_msg), "get next message");
assertIsSame(ut, get_next_Message_to_send(mQ)(unique), timeout, "timeout again")
.
public define UnitTestSuite make_message_queue_test_suite
=
ut_suite("system.message_queue",
[
ut_fixture("Add/Remove", add_remove_test),
]).