24
24
package hudson.util;
26
import hudson.util.Iterators.CountingPredicate;
26
27
import junit.framework.TestCase;
29
import java.util.Iterator;
28
30
import java.util.List;
32
import static java.util.Arrays.*;
31
35
* @author Kohsuke Kawaguchi
33
37
public class IteratorsTest extends TestCase {
34
39
public void testReverseSequence() {
35
List<Integer> lst = Iterators.reverseSequence(1,4);
40
List<Integer> lst = Iterators.reverseSequence(1, 4);
36
41
assertEquals(3,(int)lst.get(0));
37
42
assertEquals(2,(int)lst.get(1));
38
43
assertEquals(1,(int)lst.get(2));
44
49
assertEquals(1,(int)lst.get(0));
45
50
assertEquals(2,(int)lst.get(1));
46
51
assertEquals(3,(int)lst.get(2));
47
assertEquals(3,lst.size());
52
assertEquals(3, lst.size());
55
public void testWrap() {
56
List<Integer> lst = Iterators.sequence(1,4);
57
Iterable<Integer> wrapped = Iterators.wrap(lst);
58
assertFalse(wrapped instanceof List);
59
Iterator<Integer> iter = wrapped.iterator();
60
assertTrue(iter.hasNext());
61
assertEquals(1,(int)iter.next());
62
assertTrue(iter.hasNext());
63
assertEquals(2,(int)iter.next());
64
assertTrue(iter.hasNext());
65
assertEquals(3,(int)iter.next());
66
assertFalse(iter.hasNext());
69
public void testLimit() {
70
assertEquals("[0]",com.google.common.collect.Iterators.toString(Iterators.limit(asList(0,1,2,3,4).iterator(), EVEN)));
71
assertEquals("[]", com.google.common.collect.Iterators.toString(Iterators.limit(asList(1,2,4,6).iterator(), EVEN)));
74
public static final CountingPredicate<Integer> EVEN = new CountingPredicate<Integer>() {
75
public boolean apply(int index, Integer input) {
76
return input % 2 == 0;