@@ -140,3 +140,82 @@ impl Default for MessageQueue {
140
140
MessageQueue :: new ( )
141
141
}
142
142
}
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