Skip to content

Commit 2458f32

Browse files
committed
added tests to RetransmitterTest
1 parent dccdafc commit 2458f32

File tree

1 file changed

+54
-5
lines changed

1 file changed

+54
-5
lines changed

tests/junit-functional/org/jgroups/tests/RetransmitterTest.java

Lines changed: 54 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
import org.testng.Assert;
1313
import org.testng.annotations.*;
1414

15+
import java.util.ArrayList;
16+
import java.util.Collections;
17+
import java.util.List;
18+
1519

1620
@Test(groups=Global.FUNCTIONAL,sequential=true,dataProvider="createRetransmitter")
1721
public class RetransmitterTest {
@@ -128,13 +132,58 @@ public void testMultipleEntries(Retransmitter xmitter) {
128132
Assert.assertEquals(0, size);
129133
}
130134

131-
135+
/**
136+
* Note that we do not have overlapping ranges due to the way {@link org.jgroups.stack.NakReceiverWindow} adds
137+
* missing messages !
138+
* @param xmitter
139+
*/
132140
@Test(dataProvider="createRetransmitter")
133141
public void testRanges(Retransmitter xmitter) {
134-
xmitter.add(200, 500);
135-
xmitter.add(100, 300);
136-
System.out.println("xmitter: " + xmitter);
137-
assert xmitter.size() == 401 : "size was " + xmitter.size();
142+
xmitter.add(100, 200);
143+
xmitter.add(300, 400);
144+
System.out.println("xmitter (" + xmitter.getClass().getCanonicalName() + "): " + xmitter);
145+
assert xmitter.size() == 202 : "size was " + xmitter.size();
146+
}
147+
148+
@Test(dataProvider="createRetransmitter")
149+
public void testAddAndRemoveIndividualSeqnos(Retransmitter xmitter) {
150+
int NUM=100;
151+
List<Long> seqnos=new ArrayList<Long>(NUM);
152+
for(long i=1; i <= NUM; i++) {
153+
seqnos.add(i);
154+
xmitter.add(i, i);
155+
}
156+
157+
System.out.println("xmitter = " + xmitter);
158+
assert xmitter.size() == NUM;
159+
Collections.shuffle(seqnos);
160+
while(!seqnos.isEmpty()) {
161+
long seqno=seqnos.remove(0);
162+
xmitter.remove(seqno);
163+
}
164+
System.out.println("xmitter = " + xmitter);
165+
assert xmitter.size() == 0 : "expected size of 0, but size is " + xmitter.size();
166+
}
167+
168+
169+
@Test(dataProvider="createRetransmitter")
170+
public void testAddAndRemoveRanges(Retransmitter xmitter) {
171+
int NUM=100;
172+
List<Long> seqnos=new ArrayList<Long>(NUM);
173+
for(long i=1; i <= NUM; i++)
174+
seqnos.add(i);
175+
176+
xmitter.add(1, NUM);
177+
178+
System.out.println("xmitter = " + xmitter);
179+
assert xmitter.size() == NUM;
180+
Collections.shuffle(seqnos);
181+
while(!seqnos.isEmpty()) {
182+
long seqno=seqnos.remove(0);
183+
xmitter.remove(seqno);
184+
}
185+
System.out.println("xmitter = " + xmitter);
186+
assert xmitter.size() == 0 : "expected size of 0, but size is " + xmitter.size();
138187
}
139188

140189

0 commit comments

Comments
 (0)