1 package com.atlassian.user.search;
2
3 import com.atlassian.user.User;
4 import com.atlassian.user.impl.DefaultUser;
5 import com.atlassian.user.search.page.DefaultPager;
6 import com.atlassian.user.search.page.Pager;
7 import com.atlassian.user.search.page.MergedListPager;
8 import junit.framework.TestCase;
9
10 import java.util.Arrays;
11 import java.util.Iterator;
12
13 public class TestDefaultSearchResult extends TestCase
14 {
15 private DefaultSearchResult<User> searchResult;
16 private DefaultUser fred;
17 private DefaultUser bob;
18 private DefaultUser mary;
19
20 public void testOrderThatRepositoryResultsAreAddedIsRespected()
21 {
22 searchResult.addToResults("first.repo", new DefaultPager<User>(Arrays.<User>asList(fred, bob)));
23 searchResult.addToResults("second.repo", new DefaultPager<User>(Arrays.<User>asList(mary)));
24
25 Pager<User> pager = searchResult.pager();
26
27 final Iterator<User> iterator = pager.iterator();
28 assertEquals(fred, iterator.next());
29 assertEquals(bob, iterator.next());
30 assertEquals(mary, iterator.next());
31 }
32
33 public void testMergedListPagerOnlyReturnedOnMultipleRepos()
34 {
35 searchResult.addToResults("first.repo", new DefaultPager<User>(Arrays.<User>asList(fred, bob)));
36 assertFalse(searchResult.pager() instanceof MergedListPager);
37
38 searchResult.addToResults("second.repo", new DefaultPager<User>(Arrays.<User>asList(mary)));
39 assertTrue(searchResult.pager() instanceof MergedListPager);
40 }
41
42 protected void setUp() throws Exception
43 {
44 super.setUp();
45
46 searchResult = new DefaultSearchResult<User>();
47 fred = new DefaultUser("fred");
48 bob = new DefaultUser("bob");
49 mary = new DefaultUser("mary");
50 }
51
52 @Override
53 protected void tearDown() throws Exception
54 {
55 searchResult = null;
56
57 super.tearDown();
58 }
59 }