Skip to content

Commit 3465dc2

Browse files
committed
[ISSUE #1152] Add test case for MessageQueue
1 parent cf7fb50 commit 3465dc2

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

rocketmq-common/src/common/message/message_queue.rs

+79
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,82 @@ impl Default for MessageQueue {
140140
MessageQueue::new()
141141
}
142142
}
143+
144+
#[cfg(test)]
145+
mod test {
146+
use super::*;
147+
148+
#[test]
149+
fn new_message_queue_has_default_values() {
150+
let mq = MessageQueue::new();
151+
assert_eq!(mq.get_topic(), "");
152+
assert_eq!(mq.get_broker_name(), "");
153+
assert_eq!(mq.get_queue_id(), 0);
154+
}
155+
156+
#[test]
157+
fn from_other_creates_identical_copy() {
158+
let mq1 = MessageQueue::from_parts("topic1", "broker1", 1);
159+
let mq2 = MessageQueue::from_other(&mq1);
160+
assert_eq!(mq1, mq2);
161+
}
162+
163+
#[test]
164+
fn from_parts_creates_message_queue_with_given_values() {
165+
let mq = MessageQueue::from_parts("topic1", "broker1", 1);
166+
assert_eq!(mq.get_topic(), "topic1");
167+
assert_eq!(mq.get_broker_name(), "broker1");
168+
assert_eq!(mq.get_queue_id(), 1);
169+
}
170+
171+
#[test]
172+
fn set_topic_updates_topic() {
173+
let mut mq = MessageQueue::new();
174+
mq.set_topic(CheetahString::from("new_topic"));
175+
assert_eq!(mq.get_topic(), "new_topic");
176+
}
177+
178+
#[test]
179+
fn set_broker_name_updates_broker_name() {
180+
let mut mq = MessageQueue::new();
181+
mq.set_broker_name(CheetahString::from("new_broker"));
182+
assert_eq!(mq.get_broker_name(), "new_broker");
183+
}
184+
185+
#[test]
186+
fn set_queue_id_updates_queue_id() {
187+
let mut mq = MessageQueue::new();
188+
mq.set_queue_id(10);
189+
assert_eq!(mq.get_queue_id(), 10);
190+
}
191+
192+
#[test]
193+
fn message_queue_equality() {
194+
let mq1 = MessageQueue::from_parts("topic1", "broker1", 1);
195+
let mq2 = MessageQueue::from_parts("topic1", "broker1", 1);
196+
assert_eq!(mq1, mq2);
197+
}
198+
199+
#[test]
200+
fn message_queue_inequality() {
201+
let mq1 = MessageQueue::from_parts("topic1", "broker1", 1);
202+
let mq2 = MessageQueue::from_parts("topic2", "broker2", 2);
203+
assert_ne!(mq1, mq2);
204+
}
205+
206+
#[test]
207+
fn message_queue_ordering() {
208+
let mq1 = MessageQueue::from_parts("topic1", "broker1", 1);
209+
let mq2 = MessageQueue::from_parts("topic1", "broker1", 2);
210+
assert!(mq1 < mq2);
211+
}
212+
213+
#[test]
214+
fn message_queue_display_format() {
215+
let mq = MessageQueue::from_parts("topic1", "broker1", 1);
216+
assert_eq!(
217+
format!("{}", mq),
218+
"MessageQueue [topic=topic1, broker_name=broker1, queue_id=1]"
219+
);
220+
}
221+
}

0 commit comments

Comments
 (0)