Skip to content

Commit d5c8800

Browse files
authored
add tests for AllocateMessageQueueAveragely (#3811)
1 parent dbbc88a commit d5c8800

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
package org.apache.rocketmq.client.consumer.rebalance;
18+
19+
import junit.framework.TestCase;
20+
import org.apache.rocketmq.common.message.MessageQueue;
21+
import org.junit.Assert;
22+
23+
import java.util.ArrayList;
24+
import java.util.List;
25+
26+
public class AllocateMessageQueueAveragelyTest extends TestCase {
27+
28+
public void testAllocateMessageQueueAveragely() {
29+
List<String> consumerIdList = createConsumerIdList(4);
30+
List<MessageQueue> messageQueueList = createMessageQueueList(10);
31+
int[] results = new int[consumerIdList.size()];
32+
for (int i = 0; i < consumerIdList.size(); i++) {
33+
List<MessageQueue> result = new AllocateMessageQueueAveragely().allocate("", consumerIdList.get(i), messageQueueList, consumerIdList);
34+
results[i] = result.size();
35+
}
36+
Assert.assertArrayEquals(new int[]{3, 3, 2, 2}, results);
37+
}
38+
39+
private List<String> createConsumerIdList(int size) {
40+
List<String> consumerIdList = new ArrayList<String>(size);
41+
for (int i = 0; i < size; i++) {
42+
consumerIdList.add("CID_PREFIX" + i);
43+
}
44+
return consumerIdList;
45+
}
46+
47+
private List<MessageQueue> createMessageQueueList(int size) {
48+
List<MessageQueue> messageQueueList = new ArrayList<MessageQueue>(size);
49+
for (int i = 0; i < size; i++) {
50+
MessageQueue mq = new MessageQueue("topic", "brokerName", i);
51+
messageQueueList.add(mq);
52+
}
53+
return messageQueueList;
54+
}
55+
56+
57+
}

0 commit comments

Comments
 (0)