Clover Coverage Report - Pebble 2.5-SNAPSHOT
Coverage timestamp: Sat Jun 12 2010 09:39:29 EST
102   190   10   11,33
2   129   0,1   9
9     1,11  
1    
This report was generated with an evaluation server license. Purchase Clover or configure your license.
 
  PageableTest       Line # 44 102 0% 10 0 100% 1.0
 
  (16)
 
1    /*
2    * Copyright (c) 2003-2006, Simon Brown
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions are met:
7    *
8    * - Redistributions of source code must retain the above copyright
9    * notice, this list of conditions and the following disclaimer.
10    *
11    * - Redistributions in binary form must reproduce the above copyright
12    * notice, this list of conditions and the following disclaimer in
13    * the documentation and/or other materials provided with the
14    * distribution.
15    *
16    * - Neither the name of Pebble nor the names of its contributors may
17    * be used to endorse or promote products derived from this software
18    * without specific prior written permission.
19    *
20    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21    * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22    * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23    * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30    * POSSIBILITY OF SUCH DAMAGE.
31    */
32    package net.sourceforge.pebble.util;
33   
34    import junit.framework.TestCase;
35   
36    import java.util.ArrayList;
37    import java.util.List;
38   
39    /**
40    * Tests for the Pageable class.
41    *
42    * @author Simon Brown
43    */
 
44    public class PageableTest extends TestCase {
45   
46    private Pageable pageable;
47    private List list;
48   
 
49  16 toggle protected void setUp() throws Exception {
50  16 list = new ArrayList();
51  496 for (int i = 0; i < 30; i++) {
52  480 list.add(new Integer(i));
53    }
54    }
55   
 
56  2 toggle public void testConstruction() {
57  2 pageable = new Pageable(list);
58  2 pageable.setPage(1);
59  2 assertEquals(list, pageable.getList());
60  2 assertEquals(Pageable.DEFAULT_PAGE_SIZE, pageable.getPageSize());
61  2 assertEquals(1, pageable.getPage());
62    }
63   
 
64  2 toggle public void testOneFullPage() {
65  2 pageable = new Pageable(list);
66  2 pageable.setPageSize(30);
67  2 pageable.setPage(1);
68   
69  2 assertEquals(1, pageable.getPage());
70  2 assertEquals(1, pageable.getMaxPages());
71  2 assertEquals(0, pageable.getPreviousPage());
72  2 assertEquals(0, pageable.getNextPage());
73  2 assertEquals(list, pageable.getListForPage());
74    }
75   
 
76  2 toggle public void testOnePartialPage() {
77  2 pageable = new Pageable(list);
78  2 pageable.setPageSize(50);
79  2 pageable.setPage(1);
80   
81  2 assertEquals(1, pageable.getPage());
82  2 assertEquals(1, pageable.getMaxPages());
83  2 assertEquals(0, pageable.getPreviousPage());
84  2 assertEquals(0, pageable.getNextPage());
85  2 assertEquals(list, pageable.getListForPage());
86    }
87   
 
88  2 toggle public void testTwoFullPages() {
89  2 pageable = new Pageable(list);
90  2 pageable.setPageSize(15);
91   
92  2 pageable.setPage(1);
93  2 assertEquals(1, pageable.getPage());
94  2 assertEquals(2, pageable.getMaxPages());
95  2 assertEquals(0, pageable.getPreviousPage());
96  2 assertEquals(2, pageable.getNextPage());
97  2 assertEquals(list.subList(0, 15), pageable.getListForPage());
98   
99  2 pageable.setPage(2);
100  2 assertEquals(2, pageable.getPage());
101  2 assertEquals(2, pageable.getMaxPages());
102  2 assertEquals(1, pageable.getPreviousPage());
103  2 assertEquals(0, pageable.getNextPage());
104  2 assertEquals(list.subList(15, 30), pageable.getListForPage());
105    }
106   
 
107  2 toggle public void testTwoPartialPages() {
108  2 pageable = new Pageable(list);
109  2 pageable.setPageSize(20);
110   
111  2 pageable.setPage(1);
112  2 assertEquals(1, pageable.getPage());
113  2 assertEquals(2, pageable.getMaxPages());
114  2 assertEquals(0, pageable.getPreviousPage());
115  2 assertEquals(2, pageable.getNextPage());
116  2 assertEquals(list.subList(0, 20), pageable.getListForPage());
117   
118  2 pageable.setPage(2);
119  2 assertEquals(2, pageable.getPage());
120  2 assertEquals(2, pageable.getMaxPages());
121  2 assertEquals(1, pageable.getPreviousPage());
122  2 assertEquals(0, pageable.getNextPage());
123  2 assertEquals(list.subList(20, 30), pageable.getListForPage());
124    }
125   
 
126  2 toggle public void testSetPageOutOfBounds() {
127  2 pageable = new Pageable(list);
128  2 pageable.setPageSize(15);
129   
130  2 pageable.setPage(-1);
131  2 assertEquals(1, pageable.getPage());
132  2 assertEquals(2, pageable.getMaxPages());
133  2 assertEquals(0, pageable.getPreviousPage());
134  2 assertEquals(2, pageable.getNextPage());
135  2 assertEquals(list.subList(0, 15), pageable.getListForPage());
136   
137  2 pageable.setPage(0);
138  2 assertEquals(1, pageable.getPage());
139  2 assertEquals(2, pageable.getMaxPages());
140  2 assertEquals(0, pageable.getPreviousPage());
141  2 assertEquals(2, pageable.getNextPage());
142  2 assertEquals(list.subList(0, 15), pageable.getListForPage());
143   
144  2 pageable.setPage(3);
145  2 assertEquals(2, pageable.getPage());
146  2 assertEquals(2, pageable.getMaxPages());
147  2 assertEquals(1, pageable.getPreviousPage());
148  2 assertEquals(0, pageable.getNextPage());
149  2 assertEquals(list.subList(15, 30), pageable.getListForPage());
150    }
151   
 
152  2 toggle public void testGetMinPageRange() {
153  2 pageable = new Pageable(list);
154  2 pageable.setPageSize(2);
155   
156  2 pageable.setPage(1);
157  2 assertEquals(1, pageable.getMinPageRange());
158  2 pageable.setPage(2);
159  2 assertEquals(1, pageable.getMinPageRange());
160  2 pageable.setPage(9);
161  2 assertEquals(1, pageable.getMinPageRange());
162  2 pageable.setPage(10);
163  2 assertEquals(1, pageable.getMinPageRange());
164  2 pageable.setPage(11);
165  2 assertEquals(1, pageable.getMinPageRange());
166  2 pageable.setPage(12);
167  2 assertEquals(2, pageable.getMinPageRange());
168  2 pageable.setPage(13);
169  2 assertEquals(3, pageable.getMinPageRange());
170    }
171   
 
172  2 toggle public void testGetMaxPageRange() {
173  2 pageable = new Pageable(list);
174  2 pageable.setPageSize(2);
175   
176  2 pageable.setPage(15);
177  2 assertEquals(15, pageable.getMaxPageRange());
178  2 pageable.setPage(14);
179  2 assertEquals(15, pageable.getMaxPageRange());
180  2 pageable.setPage(6);
181  2 assertEquals(15, pageable.getMaxPageRange());
182  2 pageable.setPage(5);
183  2 assertEquals(15, pageable.getMaxPageRange());
184  2 pageable.setPage(4);
185  2 assertEquals(14, pageable.getMaxPageRange());
186  2 pageable.setPage(3);
187  2 assertEquals(13, pageable.getMaxPageRange());
188    }
189   
190    }