This commit is contained in:
@ -178,26 +178,26 @@ mod tests {
|
||||
request::GenericMessage,
|
||||
};
|
||||
|
||||
const TEST_CHANNEL_ID_0: u32 = 5;
|
||||
const TEST_CHANNEL_ID_1: u32 = 6;
|
||||
const TEST_CHANNEL_ID_2: u32 = 7;
|
||||
const TEST_COMPONENT_ID_0: u64 = 5;
|
||||
const TEST_COMPONENT_ID_1: u64 = 6;
|
||||
const TEST_COMPONENT_ID_2: u64 = 7;
|
||||
|
||||
#[test]
|
||||
fn test_simple_mode_requestor() {
|
||||
let (reply_sender, reply_receiver) = mpsc::channel();
|
||||
let (request_sender, request_receiver) = mpsc::channel();
|
||||
let mut mode_requestor = ModeRequestorMpsc::new(TEST_CHANNEL_ID_0, reply_receiver);
|
||||
mode_requestor.add_message_target(TEST_CHANNEL_ID_1, request_sender);
|
||||
let mut mode_requestor = ModeRequestorMpsc::new(TEST_COMPONENT_ID_0, reply_receiver);
|
||||
mode_requestor.add_message_target(TEST_COMPONENT_ID_1, request_sender);
|
||||
|
||||
// Send a request and verify it arrives at the receiver.
|
||||
let request_id = 2;
|
||||
let sent_request = ModeRequest::ReadMode;
|
||||
mode_requestor
|
||||
.send_mode_request(request_id, TEST_CHANNEL_ID_1, sent_request)
|
||||
.send_mode_request(request_id, TEST_COMPONENT_ID_1, sent_request)
|
||||
.expect("send failed");
|
||||
let request = request_receiver.recv().expect("recv failed");
|
||||
assert_eq!(request.request_id, 2);
|
||||
assert_eq!(request.sender_id, TEST_CHANNEL_ID_0);
|
||||
assert_eq!(request.sender_id, TEST_COMPONENT_ID_0);
|
||||
assert_eq!(request.message, sent_request);
|
||||
|
||||
// Send a reply and verify it arrives at the requestor.
|
||||
@ -205,14 +205,14 @@ mod tests {
|
||||
reply_sender
|
||||
.send(GenericMessage::new(
|
||||
request_id,
|
||||
TEST_CHANNEL_ID_1,
|
||||
TEST_COMPONENT_ID_1,
|
||||
mode_reply,
|
||||
))
|
||||
.expect("send failed");
|
||||
let reply = mode_requestor.try_recv_mode_reply().expect("recv failed");
|
||||
assert!(reply.is_some());
|
||||
let reply = reply.unwrap();
|
||||
assert_eq!(reply.sender_id, TEST_CHANNEL_ID_1);
|
||||
assert_eq!(reply.sender_id, TEST_COMPONENT_ID_1);
|
||||
assert_eq!(reply.request_id, 2);
|
||||
assert_eq!(reply.message, mode_reply);
|
||||
}
|
||||
@ -225,32 +225,35 @@ mod tests {
|
||||
let (request_sender_to_channel_1, request_receiver_channel_1) = mpsc::channel();
|
||||
//let (reply_sender_to_channel_2, reply_receiver_channel_2) = mpsc::channel();
|
||||
let mut mode_connector = ModeRequestorAndHandlerMpsc::new(
|
||||
TEST_CHANNEL_ID_0,
|
||||
TEST_COMPONENT_ID_0,
|
||||
request_receiver_of_connector,
|
||||
reply_receiver_of_connector,
|
||||
);
|
||||
assert_eq!(
|
||||
ModeRequestSender::local_channel_id(&mode_connector),
|
||||
TEST_CHANNEL_ID_0
|
||||
TEST_COMPONENT_ID_0
|
||||
);
|
||||
assert_eq!(
|
||||
ModeReplySender::local_channel_id(&mode_connector),
|
||||
TEST_CHANNEL_ID_0
|
||||
TEST_COMPONENT_ID_0
|
||||
);
|
||||
assert_eq!(
|
||||
mode_connector.local_channel_id_generic(),
|
||||
TEST_COMPONENT_ID_0
|
||||
);
|
||||
assert_eq!(mode_connector.local_channel_id_generic(), TEST_CHANNEL_ID_0);
|
||||
|
||||
mode_connector.add_request_target(TEST_CHANNEL_ID_1, request_sender_to_channel_1);
|
||||
mode_connector.add_request_target(TEST_COMPONENT_ID_1, request_sender_to_channel_1);
|
||||
|
||||
// Send a request and verify it arrives at the receiver.
|
||||
let request_id = 2;
|
||||
let sent_request = ModeRequest::ReadMode;
|
||||
mode_connector
|
||||
.send_mode_request(request_id, TEST_CHANNEL_ID_1, sent_request)
|
||||
.send_mode_request(request_id, TEST_COMPONENT_ID_1, sent_request)
|
||||
.expect("send failed");
|
||||
|
||||
let request = request_receiver_channel_1.recv().expect("recv failed");
|
||||
assert_eq!(request.request_id, 2);
|
||||
assert_eq!(request.sender_id, TEST_CHANNEL_ID_0);
|
||||
assert_eq!(request.sender_id, TEST_COMPONENT_ID_0);
|
||||
assert_eq!(request.message, ModeRequest::ReadMode);
|
||||
}
|
||||
|
||||
@ -261,21 +264,21 @@ mod tests {
|
||||
|
||||
let (reply_sender_to_channel_2, reply_receiver_channel_2) = mpsc::channel();
|
||||
let mut mode_connector = ModeRequestorAndHandlerMpsc::new(
|
||||
TEST_CHANNEL_ID_0,
|
||||
TEST_COMPONENT_ID_0,
|
||||
request_receiver_of_connector,
|
||||
reply_receiver_of_connector,
|
||||
);
|
||||
mode_connector.add_reply_target(TEST_CHANNEL_ID_2, reply_sender_to_channel_2);
|
||||
mode_connector.add_reply_target(TEST_COMPONENT_ID_2, reply_sender_to_channel_2);
|
||||
|
||||
// Send a request and verify it arrives at the receiver.
|
||||
let request_id = 2;
|
||||
let sent_reply = ModeReply::ModeInfo(ModeAndSubmode::new(3, 5));
|
||||
mode_connector
|
||||
.send_mode_reply(request_id, TEST_CHANNEL_ID_2, sent_reply)
|
||||
.send_mode_reply(request_id, TEST_COMPONENT_ID_2, sent_reply)
|
||||
.expect("send failed");
|
||||
let reply = reply_receiver_channel_2.recv().expect("recv failed");
|
||||
assert_eq!(reply.request_id, 2);
|
||||
assert_eq!(reply.sender_id, TEST_CHANNEL_ID_0);
|
||||
assert_eq!(reply.sender_id, TEST_COMPONENT_ID_0);
|
||||
assert_eq!(reply.message, sent_reply);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user