1 package com.atlassian.user.search.page;
2
3 import com.atlassian.user.EntityException;
4 import junit.framework.TestCase;
5
6 import java.util.ArrayList;
7 import java.util.Collections;
8 import java.util.LinkedList;
9 import java.util.List;
10
11 public class TestDefaultPager extends TestCase
12 {
13 public void testMerge()
14 {
15 List<String> list1 = new ArrayList<String>();
16 List<String> list2 = new ArrayList<String>();
17
18 list1.add("1a");
19 list1.add("1b");
20 list2.add("2a");
21 list2.add("2b");
22
23 List<DefaultPager<String>> pagers = new LinkedList<DefaultPager<String>>();
24 pagers.add(new DefaultPager<String>(list1));
25 pagers.add(new DefaultPager<String>(list2));
26
27 Pager<String> pager = new MergedListPager<String>(pagers);
28
29 List<String> masterList = PagerUtils.toList(pager);
30 assertTrue(masterList.containsAll(list1));
31 assertTrue(masterList.containsAll(list2));
32 }
33
34 public void testMergeWithFirstListEmpty()
35 {
36 List<String> list2 = new ArrayList<String>();
37
38 list2.add("2a");
39 list2.add("2b");
40
41 List<DefaultPager<String>> pagers = new LinkedList<DefaultPager<String>>();
42 pagers.add(DefaultPager.<String>emptyPager());
43 pagers.add(new DefaultPager<String>(list2));
44
45 Pager<String> pager = new MergedListPager<String>(pagers);
46
47 List<String> masterList = PagerUtils.toList(pager);
48 assertTrue(masterList.containsAll(list2));
49 }
50
51 public void testIterationCycle() throws EntityException
52 {
53 List<Integer> list1 = new ArrayList<Integer>();
54
55 int i = 0;
56 while (i++ < 1000)
57 list1.add(i);
58
59 DefaultPager<Integer> iter = new DefaultPager<Integer>(list1);
60
61 ArrayList<Integer> elements = new ArrayList<Integer>();
62
63 while (iter.hasNext())
64 {
65 Integer o = iter.next();
66 if (o != null)
67 elements.add(o);
68 }
69
70 assertEquals(1000, elements.size());
71
72 }
73
74 }